advplyr.audiobookshelf-app/ios/App/Shared/models/LocalLibrary.swift

87 lines
2.1 KiB
Swift
Raw Normal View History

2022-07-06 10:09:17 -04:00
//
// LocalLibrary.swift
// App
//
// Created by benonymity on 6/15/22.
//
import Foundation
import Unrealm
2022-07-06 10:09:17 -04:00
struct LocalLibraryItem: Realmable, Codable {
var id: String = "local_\(UUID().uuidString)"
var basePath: String = ""
var absolutePath: String = ""
var contentUrl: String = ""
var isInvalid: Bool = false
var mediaType: String = ""
var media: MediaType?
var localFiles: [LocalFile] = []
var coverContentUrl: String?
var coverAbsolutePath: String?
var isLocal: Bool = true
var serverConnectionConfigId: String?
var serverAddress: String?
var serverUserId: String?
var libraryItemId: String?
static func primaryKey() -> String? {
return "id"
}
2022-07-06 10:09:17 -04:00
}
2022-07-09 15:18:34 -04:00
struct LocalPodcastEpisode: Realmable, Codable {
var id: String = UUID().uuidString
var index: Int = 0
var episode: String?
var episodeType: String?
var title: String = "Unknown"
var subtitle: String?
var desc: String?
var audioFile: AudioFile?
var audioTrack: AudioTrack?
var duration: Double = 0
var size: Int = 0
var serverEpisodeId: String?
static func primaryKey() -> String? {
return "id"
}
2022-07-09 17:35:59 -04:00
}
struct LocalFile: Realmable, Codable {
var id: String = UUID().uuidString
var filename: String?
var contentUrl: String = ""
var absolutePath: String = ""
var mimeType: String?
var size: Int = 0
static func primaryKey() -> String? {
return "id"
}
2022-07-16 21:46:49 -04:00
}
struct LocalMediaProgress: Realmable, Codable {
var id: String = UUID().uuidString
var localLibraryItemId: String = ""
var localEpisodeId: String?
var duration: Double = 0
var progress: Double = 0
var currentTime: Double = 0
var isFinished: Bool = false
var lastUpdate: Int = 0
var startedAt: Int = 0
var finishedAt: Int?
2022-07-06 10:09:17 -04:00
// For local lib items from server to support server sync
var serverConnectionConfigId: String?
var serverAddress: String?
var serverUserId: String?
var libraryItemId: String?
var episodeId: String?
static func primaryKey() -> String? {
return "id"
}
2022-07-06 10:09:17 -04:00
}