Ferrite-backup/Ferrite/Models/DebridModels.swift
kingbri 91f124130c Debrid: Fix cache alert
Change the returned error to one that's unique to caching. Also
make deleteTorrents optional to delete the first torrent if necessary
since that's always being cached.

Signed-off-by: kingbri <bdashore3@proton.me>
2024-06-16 15:00:35 -05:00

57 lines
1.2 KiB
Swift

//
// DebridModels.swift
// Ferrite
//
// Created by Brian Dashore on 6/2/24.
//
import Foundation
public struct DebridIA: Hashable, Sendable {
let magnet: Magnet
let source: String
let expiryTimeStamp: Double
var files: [DebridIAFile]
}
public struct DebridIAFile: Hashable, Sendable {
let fileId: Int
let name: String
let streamUrlString: String?
let batchIds: [Int]
init(fileId: Int, name: String, streamUrlString: String? = nil, batchIds: [Int] = []) {
self.fileId = fileId
self.name = name
self.streamUrlString = streamUrlString
self.batchIds = batchIds
}
}
public struct DebridCloudDownload: Hashable, Sendable {
let downloadId: String
let source: String
let fileName: String
let link: String
}
public struct DebridCloudTorrent: Hashable, Sendable {
let torrentId: String
let source: String
let fileName: String
let status: String
let hash: String
let links: [String]
}
public enum DebridError: Error {
case InvalidUrl
case InvalidPostBody
case InvalidResponse
case InvalidToken
case EmptyData
case EmptyTorrents
case IsCaching
case FailedRequest(description: String)
case AuthQuery(description: String)
}