TeraNativeTransferJob.swift (1480B)
1 /// Immutable native transport input, independent of legacy/scoped storage models. 2 struct TeraNativeTransferJob: Sendable, Equatable, CustomStringConvertible, CustomDebugStringConvertible { 3 let ownerID: String 4 let expectedRevision: UInt64 5 let operationID: String 6 let remoteURL: String 7 let uploadURL: String 8 let authorizationHeader: String 9 let expectedSHA256: String 10 let mediaType: String 11 let byteSize: UInt64 12 var description: String { 13 "TeraNativeTransferJob" 14 } 15 16 var debugDescription: String { 17 description 18 } 19 } 20 21 extension TeraNativeUploadJob { 22 var transfer: TeraNativeTransferJob { 23 TeraNativeTransferJob(ownerID: draft.id, expectedRevision: draft.revision, operationID: operationID, 24 remoteURL: remoteURL, uploadURL: uploadURL, authorizationHeader: authorizationHeader, 25 expectedSHA256: expectedSHA256, mediaType: mediaType, byteSize: byteSize) 26 } 27 } 28 29 /// Presentation evidence used only to reconcile an already persisted OS transfer. 30 struct TeraNativeUploadRecoveryOwner: Sendable { 31 let id: String 32 let revision: UInt64 33 let media: [TeraPreparedMedia] 34 let verifiedURLs: Set<String> 35 let uploadURLs: [String: String] 36 } 37 38 struct TeraNativeUploadJob: Sendable, Equatable { 39 let operationID: String 40 let draft: TeraDraftStatus 41 let remoteURL: String 42 let uploadURL: String 43 let authorizationHeader: String 44 let expectedSHA256: String 45 let mediaType: String 46 let byteSize: UInt64 47 }