diff --git a/ios/App/App/plugins/AbsDatabase.swift b/ios/App/App/plugins/AbsDatabase.swift index 8d35b708..e08ee0d9 100644 --- a/ios/App/App/plugins/AbsDatabase.swift +++ b/ios/App/App/plugins/AbsDatabase.swift @@ -81,14 +81,42 @@ public class AbsDatabase: CAPPlugin { } catch(let exception) { NSLog("error while readling local library items") debugPrint(exception) + call.resolve() } } + @objc func getLocalLibraryItem(_ call: CAPPluginCall) { - call.resolve() + do { + let item = Database.shared.getLocalLibraryItemByLLId(libraryItem: call.getString("id") ?? "") + switch item { + case .some(let foundItem): + call.resolve(try foundItem.asDictionary()) + default: + call.resolve() + } + } catch(let exception) { + NSLog("error while readling local library items") + debugPrint(exception) + call.resolve() + } } + @objc func getLocalLibraryItemByLId(_ call: CAPPluginCall) { - call.resolve() + do { + let item = Database.shared.getLocalLibraryItemByLLId(libraryItem: call.getString("libraryItemId") ?? "") + switch item { + case .some(let foundItem): + call.resolve(try foundItem.asDictionary()) + default: + call.resolve() + } + } catch(let exception) { + NSLog("error while readling local library items") + debugPrint(exception) + call.resolve() + } } + @objc func getLocalLibraryItemsInFolder(_ call: CAPPluginCall) { call.resolve([ "value": [] ]) } diff --git a/ios/App/Shared/models/LocalLibraryExtensions.swift b/ios/App/Shared/models/LocalLibraryExtensions.swift index 73d203e0..0a72f9ff 100644 --- a/ios/App/Shared/models/LocalLibraryExtensions.swift +++ b/ios/App/Shared/models/LocalLibraryExtensions.swift @@ -373,11 +373,11 @@ extension LocalFile { func isAudioFile() -> Bool { switch self.mimeType { - case "application/octet-stream", - "video/mp4": - return true - default: - return self.mimeType?.starts(with: "audio") ?? false + case "application/octet-stream", + "video/mp4": + return true + default: + return self.mimeType?.starts(with: "audio") ?? false } } } diff --git a/ios/App/Shared/util/Database.swift b/ios/App/Shared/util/Database.swift index 08548e4d..58274b14 100644 --- a/ios/App/Shared/util/Database.swift +++ b/ios/App/Shared/util/Database.swift @@ -174,7 +174,7 @@ class Database { public func getLocalLibraryItemByLLId(libraryItem: String) -> LocalLibraryItem? { let items = getLocalLibraryItems() for item in items { - if (item.id == libraryItem) { + if (item.libraryItemId == libraryItem) { return item } } @@ -182,6 +182,17 @@ class Database { return nil } + public func getLocalLibraryItem(localLibraryItem: String) -> LocalLibraryItem? { + let items = getLocalLibraryItems() + for item in items { + if (item.id == localLibraryItem) { + return item + } + } + NSLog("Local library item with id \(localLibraryItem) not found") + return nil + } + public func saveLocalLibraryItem(localLibraryItem: LocalLibraryItem) { Database.realmQueue.sync { do {