Tags: dtinit/data-transfer-project
Tags
fix: refactor the pagination prefix and token processing (#1476) Encapsulate pageTokenPrefix and paginationToken within a unified PageToken class or utility functions to simplify and generalize pagination logic. Issue : The logic to validate and extract the pageToken from the request is not standardized and has repetition for every case which makes it error prone. The change was already done for exporting release. This change adds generic methods to the StringPaginationToken class and refactors the export playlist method.
feat: add recurring job id to job metadata, use it in GenericImporter (… …#1475) Add the `recurringJobId` field to `JobMetadata` and `PortabilityJob` classes. When present, it means the current job is part of a recurring transfer series, all sharing the same id. When present, pass it in `X-DTP-Recurring-Job-Id` HTTP header from `Generic*Importer` classes -- similarly to `X-DTP-Job-Id` header introduced in #1473.
feat: pass export service and jobid as HTTP headers in generic import… …er (#1473) Add 2 HTTP headers to `GenericImporter` and `GenericFileImporter`: - `X-DTP-Export-Service`, passing the `ExportService` from the `JobMetadata`, i.e. the source of data; - `X-DTP-Job-Id`, passing the current job UUID as String. This will help the receiving service in building the internal logic (i.e. if they want to know which service is sending the data). TODO: - [x] this PR: figure out tests (what is the currently recommended workflow with testing?) - [ ] next PR: add an optional `recurringJobId` field to `PortabilityJob` (populated from `*JobStore`) and `JobMetadata` -- to be sent for recurring transfers only via `X-DTP-Recurring-Job-Id`
fix: Add IPV4 Range Filtering for Backblaze B2 API Integration (#1467) Currently the B2 Native API only supports IPV4 and Facebook requires IPV6. This change forces an IPV4 DNS resolution when looking up the B2 Authorize endpoint DNS. This change was tested locally by running the BackblazeIntegrationTest while setting `java.net.preferIPv6Addresses=true` ``` BUILD SUCCESSFUL in 1s 24 actionable tasks: 2 executed, 22 up-to-date INFO 2025-07-25T12:07:22.601918-05:00 Region extracted from s3ApiUrl: us-east-005 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. DEBUG 2025-07-25T12:07:22.961639-05:00 Uploading 'test-upload-1753463242960' with file size 14 bytes ```
feat: Add Synology Photos Importer extensions (#1461) The Synology Photos application is a useful tool for photo and album management, designed to operate on the DiskStation Manager (DSM) of Synology NAS devices. Due to most NAS systems being behind NAT and not accessible publicly, Synology offers a cloud service that acts as an intermediary. This service facilitates the transfer of data from various DTP extensions to the Synology cloud, from which users can subsequently download their data to their NAS. This PR includes: - Synology Photos Importer - Synology Videos Importer - Synology Media Importer --------- Co-authored-by: simonyeh <[email protected]> Co-authored-by: ehung <[email protected]> Co-authored-by: amychen <[email protected]>
PreviousNext