<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def migrate_connections(new_data_path: str):
 """ Migrate wifi connection files to new locations and patch them :param new_data_path: The path to where the new data partition is mounted """

    dest_connections = os.path.join(
        new_data_path, 'lib', 'NetworkManager', 'system-connections')
    os.makedirs(dest_connections, exist_ok=True)

    with mount_state_partition() as state_path:
        src_connections = os.path.join(
            state_path, 'root-overlay', 'etc', 'NetworkManager',
            'system-connections')
        LOG.info(f"migrate_connections: moving nmcli connections from"
                 f" {src_connections} to {dest_connections}")
        found = migrate_system_connections(src_connections, dest_connections)

    if found:
        return

    LOG.info(
        "migrate_connections: No connections found in state, checking boot")

    with mount_boot_partition() as boot_path:
        src_connections = os.path.join(
            boot_path, 'system-connections')
        LOG.info(f"migrate_connections: moving nmcli connections from"
                 f" {src_connections} to {dest_connections}")
        found = migrate_system_connections(src_connections, dest_connections)
        if not found:
            LOG.info("migrate_connections: No connections found in boot")