mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-09-12 21:01:50 +02:00
Rewrite of object model to use Unrealm
This addresses issues with JSON serialization
This commit is contained in:
@@ -15,7 +15,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
migrationBlock: { migration, oldSchemaVersion in
|
||||
if (oldSchemaVersion < 1) {
|
||||
NSLog("Realm schema version was \(oldSchemaVersion)")
|
||||
migration.enumerateObjects(ofType: DeviceSettings.className()) { oldObject, newObject in
|
||||
migration.enumerateObjects(ofType: DeviceSettings.rlmClassName()) { oldObject, newObject in
|
||||
newObject?["enableAltView"] = false
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,32 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
)
|
||||
Realm.Configuration.defaultConfiguration = configuration
|
||||
|
||||
Realm.registerRealmables(DeviceSettings.self)
|
||||
Realm.registerRealmables(ServerConnectionConfig.self)
|
||||
Realm.registerRealmables(ServerConnectionConfigActiveIndex.self)
|
||||
|
||||
// Data classes
|
||||
Realm.registerRealmables(LibraryItem.self)
|
||||
Realm.registerRealmables(MediaType.self)
|
||||
Realm.registerRealmables(Metadata.self)
|
||||
Realm.registerRealmables(PodcastEpisode.self)
|
||||
Realm.registerRealmables(AudioFile.self)
|
||||
Realm.registerRealmables(Author.self)
|
||||
Realm.registerRealmables(Chapter.self)
|
||||
Realm.registerRealmables(AudioTrack.self)
|
||||
Realm.registerRealmables(FileMetadata.self)
|
||||
Realm.registerRealmables(Library.self)
|
||||
Realm.registerRealmables(Folder.self)
|
||||
Realm.registerRealmables(LibraryFile.self)
|
||||
Realm.registerRealmables(MediaProgress.self)
|
||||
Realm.registerRealmables(PlaybackMetadata.self)
|
||||
|
||||
// Local library
|
||||
Realm.registerRealmables(LocalLibraryItem.self)
|
||||
Realm.registerRealmables(LocalPodcastEpisode.self)
|
||||
Realm.registerRealmables(LocalFile.self)
|
||||
Realm.registerRealmables(LocalMediaProgress.self)
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
@@ -35,18 +35,12 @@ public class AbsDatabase: CAPPlugin {
|
||||
let token = call.getString("token", "")
|
||||
|
||||
let name = "\(address) (\(username))"
|
||||
let config = ServerConnectionConfig()
|
||||
|
||||
if id == nil {
|
||||
id = "\(address)@\(username)".toBase64()
|
||||
}
|
||||
|
||||
config.id = id!
|
||||
config.name = name
|
||||
config.address = address
|
||||
config.userId = userId
|
||||
config.username = username
|
||||
config.token = token
|
||||
let config = ServerConnectionConfig(id: id!, index: 0, name: name, address: address, userId: userId, username: username, token: token)
|
||||
|
||||
Store.serverConfig = config
|
||||
call.resolve(convertServerConnectionConfigToJSON(config: config))
|
||||
@@ -77,7 +71,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
@objc func getLocalLibraryItems(_ call: CAPPluginCall) {
|
||||
do {
|
||||
let items = Database.shared.getLocalLibraryItems()
|
||||
call.resolve([ "value": try items.asDictionaryArray() ])
|
||||
call.resolve([ "value": try items.asDictionaryArray()])
|
||||
} catch(let exception) {
|
||||
NSLog("error while readling local library items")
|
||||
debugPrint(exception)
|
||||
@@ -128,11 +122,7 @@ public class AbsDatabase: CAPPlugin {
|
||||
let enableAltView = call.getBool("enableAltView") ?? false
|
||||
let jumpBackwardsTime = call.getInt("jumpBackwardsTime") ?? 10
|
||||
let jumpForwardTime = call.getInt("jumpForwardTime") ?? 10
|
||||
let settings = DeviceSettings()
|
||||
settings.disableAutoRewind = disableAutoRewind
|
||||
settings.enableAltView = enableAltView
|
||||
settings.jumpBackwardsTime = jumpBackwardsTime
|
||||
settings.jumpForwardTime = jumpForwardTime
|
||||
let settings = DeviceSettings(disableAutoRewind: disableAutoRewind, enableAltView: enableAltView, jumpBackwardsTime: jumpBackwardsTime, jumpForwardTime: jumpForwardTime)
|
||||
|
||||
Database.shared.setDeviceSettings(deviceSettings: settings)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user