Fix configs sharing an index

This commit is contained in:
ronaldheft
2022-08-26 20:04:06 -04:00
parent ba1efedd79
commit c1f803bdd0
2 changed files with 31 additions and 19 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ public class AbsDatabase: CAPPlugin {
let config = ServerConnectionConfig() let config = ServerConnectionConfig()
config.id = id ?? "" config.id = id ?? ""
config.index = 1 config.index = 0
config.name = name config.name = name
config.address = address config.address = address
config.userId = userId config.userId = userId
+15 -3
View File
@@ -20,6 +20,20 @@ class Database {
let realm = try! Realm() let realm = try! Realm()
let existing: ServerConnectionConfig? = realm.object(ofType: ServerConnectionConfig.self, forPrimaryKey: config.id) let existing: ServerConnectionConfig? = realm.object(ofType: ServerConnectionConfig.self, forPrimaryKey: config.id)
if let existing = existing {
do {
try existing.update {
existing.name = config.name
existing.address = config.address
existing.userId = config.userId
existing.username = config.username
existing.token = config.token
}
} catch {
NSLog("failed to update server config")
debugPrint(error)
}
} else {
if config.index == 0 { if config.index == 0 {
let lastConfig: ServerConnectionConfig? = realm.objects(ServerConnectionConfig.self).last let lastConfig: ServerConnectionConfig? = realm.objects(ServerConnectionConfig.self).last
@@ -32,15 +46,13 @@ class Database {
do { do {
try realm.write { try realm.write {
if existing != nil {
realm.delete(existing!)
}
realm.add(config) realm.add(config)
} }
} catch(let exception) { } catch(let exception) {
NSLog("failed to save server config") NSLog("failed to save server config")
debugPrint(exception) debugPrint(exception)
} }
}
setLastActiveConfigIndex(index: config.index) setLastActiveConfigIndex(index: config.index)
} }