// // SettingViewModel.swift // Bremer // // Created by yhornisse on 2023/08/26. // import Foundation import RealmSwift class BremerSetting: Object { @objc dynamic var id = 0 @objc dynamic var baseUrl = "" override static func primaryKey() -> String? { return "id" } func baseApiUrl() -> String { return "\(baseUrl)/api" } } public class SettingViewModel : ObservableObject { let realm = try! Realm() func updateBaseApiUrl(_ baseApiUrl: String) { let setting = BremerSetting() setting.baseUrl = baseApiUrl let results = realm.objects(BremerSetting.self) try! realm.write { if results.isEmpty { realm.add(setting) } else { realm.add(setting, update: .modified) } } } func getSetting() -> BremerSetting { let results = realm.objects(BremerSetting.self) if results.isEmpty { return BremerSetting() } else { return results[0] } } }