field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | README | LICENSE

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 }