Fix persisting active config

This commit is contained in:
ronaldheft
2022-08-02 17:10:45 -04:00
parent f6c43e479d
commit a7424cc428
3 changed files with 12 additions and 13 deletions
@@ -11,7 +11,7 @@ import Unrealm
struct ServerConnectionConfig: Realmable {
var id: String = UUID().uuidString
var index: Int = 0
var index: Int = 1
var name: String = ""
var address: String = ""
var userId: String = ""
@@ -30,6 +30,10 @@ struct ServerConnectionConfig: Realmable {
struct ServerConnectionConfigActiveIndex: Realmable {
// This could overflow, but you really would have to try
var index: Int?
static func primaryKey() -> String? {
return "index"
}
}
func convertServerConnectionConfigToJSON(config: ServerConnectionConfig) -> Dictionary<String, Any> {
+6 -11
View File
@@ -76,21 +76,16 @@ class Database {
}
}
public func setLastActiveConfigIndexToNil() {
Database.realmQueue.sync {
setLastActiveConfigIndex(index: nil)
}
private func setLastActiveConfigIndexToNil() {
setLastActiveConfigIndex(index: nil)
}
public func setLastActiveConfigIndex(index: Int?) {
let existing = instance.objects(ServerConnectionConfigActiveIndex.self)
var obj = ServerConnectionConfigActiveIndex()
obj.index = index
private func setLastActiveConfigIndex(index: Int?) {
do {
try instance.write {
instance.delete(existing)
instance.add(obj)
var existing = instance.objects(ServerConnectionConfigActiveIndex.self).last ?? ServerConnectionConfigActiveIndex(index: index)
existing.index = index
instance.add(existing, update: .modified)
}
} catch(let exception) {
NSLog("failed to save server config active index")