NetworkServiceProtocol.swift 794 B

123456789101112131415161718192021
  1. import Foundation
  2. protocol NetworkServiceProtocol {
  3. func fetchSessionIndex() async throws -> [RemoteSessionIndex]
  4. func fetchSession(sessionID: String) async throws -> RemoteSession
  5. func syncSession(
  6. _ session: CelestiaSession,
  7. deletedEventClientIDs: [String]
  8. ) async throws -> RemoteSession
  9. func deleteSession(sessionID: String) async throws
  10. func fetchStorageQuota() async throws -> StorageQuota
  11. func uploadAsset(
  12. sessionID: String,
  13. clientID: String,
  14. kind: String,
  15. fileURL: URL,
  16. progress: @escaping @Sendable (Double) -> Void
  17. ) async throws -> AssetUploadResult
  18. func downloadAsset(sessionID: String, asset: RemoteAsset, destinationURL: URL) async throws
  19. func recordSyncCheckpoint() async throws
  20. }