|
|
|
|
@ -28,7 +28,9 @@ class DataStore: ObservableObject { |
|
|
|
|
fileprivate(set) var monthData: StoredCollection<MonthData> |
|
|
|
|
fileprivate(set) var dateIntervals: StoredCollection<DateInterval> |
|
|
|
|
|
|
|
|
|
fileprivate var _userStorage: OptionalStorage<User> = OptionalStorage<User>(fileName: "user.json") |
|
|
|
|
fileprivate(set) var userStorage: StoredObject<User> |
|
|
|
|
|
|
|
|
|
// fileprivate var _userStorage: OptionalStorage<User> = OptionalStorage<User>(fileName: "user.json") |
|
|
|
|
fileprivate var _appSettingsStorage: MicroStorage<AppSettings> = MicroStorage() |
|
|
|
|
|
|
|
|
|
var appSettings: AppSettings { |
|
|
|
|
@ -51,11 +53,18 @@ class DataStore: ObservableObject { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var user: User? { |
|
|
|
|
return self._userStorage.item |
|
|
|
|
return self.userStorage.item() |
|
|
|
|
// return self._userStorage.item |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func setUser(_ user: User?) { |
|
|
|
|
self._userStorage.item = user |
|
|
|
|
func setUser(_ user: User) { |
|
|
|
|
do { |
|
|
|
|
try self.userStorage.setItem(user) |
|
|
|
|
self._loadCollections() |
|
|
|
|
} catch { |
|
|
|
|
Logger.error(error) |
|
|
|
|
} |
|
|
|
|
// self._userStorage.item = user |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
init() { |
|
|
|
|
@ -68,18 +77,21 @@ class DataStore: ObservableObject { |
|
|
|
|
// store.addMigration(Migration<TournamentV2, Tournament>(version: 3)) |
|
|
|
|
|
|
|
|
|
let indexed : Bool = true |
|
|
|
|
self.clubs = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.courts = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.tournaments = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.events = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.groupStages = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.teamScores = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.teamRegistrations = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.playerRegistrations = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.rounds = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.matches = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.monthData = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
self.dateIntervals = store.registerCollection(synchronized: false, indexed: indexed) |
|
|
|
|
let synchronized : Bool = false |
|
|
|
|
self.clubs = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.courts = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.tournaments = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.events = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.groupStages = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.teamScores = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.teamRegistrations = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.playerRegistrations = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.rounds = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.matches = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.monthData = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
self.dateIntervals = store.registerCollection(synchronized: synchronized, indexed: indexed) |
|
|
|
|
|
|
|
|
|
self.userStorage = store.registerObject(synchronized: synchronized) |
|
|
|
|
|
|
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(collectionWasUpdated), name: NSNotification.Name.CollectionDidLoad, object: nil) |
|
|
|
|
NotificationCenter.default.addObserver(self, selector: #selector(collectionWasUpdated), name: NSNotification.Name.CollectionDidChange, object: nil) |
|
|
|
|
@ -108,4 +120,12 @@ class DataStore: ObservableObject { |
|
|
|
|
return .none |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func disconnect() { |
|
|
|
|
Store.main.disconnect(resetAll: true) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fileprivate func _loadCollections() { |
|
|
|
|
Store.main.loadCollections() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|