Handle deleting library items

This commit is contained in:
ronaldheft 2022-08-11 14:12:45 -04:00
parent 8edeefc1cd
commit 60cb5f398c
7 changed files with 40 additions and 22 deletions

View file

@ -31,6 +31,14 @@ struct LocalLibraryItem: Realmable, Codable {
}
}
var contentDirectory: URL? {
if let path = _contentUrl {
return AbsDownloader.itemDownloadFolder(path: path)
} else {
return nil
}
}
var coverContentUrl: String? {
if let path = self._coverContentUrl {
return AbsDownloader.itemDownloadFolder(path: path)!.absoluteString

View file

@ -108,14 +108,14 @@ class Database {
return Array(realm.objects(LocalLibraryItem.self))
}
public func getLocalLibraryItemByLLId(libraryItem: String) -> LocalLibraryItem? {
public func getLocalLibraryItem(byServerLibraryItemId: String) -> LocalLibraryItem? {
let realm = try! Realm()
return realm.objects(LocalLibraryItem.self).first(where: { $0.libraryItemId == libraryItem })
return realm.objects(LocalLibraryItem.self).first(where: { $0.libraryItemId == byServerLibraryItemId })
}
public func getLocalLibraryItem(localLibraryItem: String) -> LocalLibraryItem? {
public func getLocalLibraryItem(localLibraryItemId: String) -> LocalLibraryItem? {
let realm = try! Realm()
return realm.object(ofType: LocalLibraryItem.self, forPrimaryKey: localLibraryItem)
return realm.object(ofType: LocalLibraryItem.self, forPrimaryKey: localLibraryItemId)
}
public func saveLocalLibraryItem(localLibraryItem: LocalLibraryItem) {
@ -123,6 +123,14 @@ class Database {
try! realm.write { realm.add(localLibraryItem, update: .modified) }
}
public func removeLocalLibraryItem(localLibraryItemId: String) {
let realm = try! Realm()
try! realm.write {
let item = getLocalLibraryItem(localLibraryItemId: localLibraryItemId)
realm.delete(item!)
}
}
public func getDownloadItem(downloadItemId: String) -> DownloadItem? {
let realm = try! Realm()
return realm.object(ofType: DownloadItem.self, forPrimaryKey: downloadItemId)
@ -158,14 +166,6 @@ class Database {
return realm.objects(DeviceSettings.self).first ?? getDefaultDeviceSettings()
}
public func removeLocalLibraryItem(localLibraryItemId: String) {
let realm = try! Realm()
try! realm.write {
let item = getLocalLibraryItemByLLId(libraryItem: localLibraryItemId)
realm.delete(item!)
}
}
public func saveLocalMediaProgress(_ mediaProgress: LocalMediaProgress) {
let realm = try! Realm()
try! realm.write { realm.add(mediaProgress, update: .modified) }