|
|
|
@ -10,6 +10,7 @@ import LeStorage |
|
|
|
|
|
|
|
|
|
|
|
enum Patch: String, CaseIterable { |
|
|
|
enum Patch: String, CaseIterable { |
|
|
|
case alexisLeDu |
|
|
|
case alexisLeDu |
|
|
|
|
|
|
|
case importDataFromDev |
|
|
|
|
|
|
|
|
|
|
|
var id: String { |
|
|
|
var id: String { |
|
|
|
return "padelclub.app.patch.\(self.rawValue)" |
|
|
|
return "padelclub.app.patch.\(self.rawValue)" |
|
|
|
@ -18,18 +19,23 @@ enum Patch: String, CaseIterable { |
|
|
|
|
|
|
|
|
|
|
|
class Patcher { |
|
|
|
class Patcher { |
|
|
|
|
|
|
|
|
|
|
|
static func applyIfNeeded() { |
|
|
|
// static func applyIfNeeded() { |
|
|
|
for patch in Patch.allCases { |
|
|
|
// for patch in Patch.allCases { |
|
|
|
if UserDefaults.standard.value(forKey: patch.id) == nil { |
|
|
|
// if UserDefaults.standard.value(forKey: patch.id) == nil { |
|
|
|
self._applyPatch(patch) |
|
|
|
// do { |
|
|
|
UserDefaults.standard.setValue(true, forKey: patch.id) |
|
|
|
// try self.applyPatch(patch) |
|
|
|
} |
|
|
|
// UserDefaults.standard.setValue(true, forKey: patch.id) |
|
|
|
} |
|
|
|
// } catch { |
|
|
|
} |
|
|
|
// Logger.error(error) |
|
|
|
|
|
|
|
// } |
|
|
|
|
|
|
|
// } |
|
|
|
|
|
|
|
// } |
|
|
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
fileprivate static func _applyPatch(_ patch: Patch) { |
|
|
|
static func applyPatch(_ patch: Patch) { |
|
|
|
switch patch { |
|
|
|
switch patch { |
|
|
|
case .alexisLeDu: self._patchAlexisLeDu() |
|
|
|
case .alexisLeDu: self._patchAlexisLeDu() |
|
|
|
|
|
|
|
case .importDataFromDev: self._importDataFromDev() |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -49,4 +55,58 @@ class Patcher { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fileprivate static func _importDataFromDev() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
guard let userId = Store.main.userId else { |
|
|
|
|
|
|
|
return |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let services = Services(url: "https://xlr.alwaysdata.net/roads/") |
|
|
|
|
|
|
|
if services.hasToken() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Task { |
|
|
|
|
|
|
|
let clubs: [Club] = try await services.get() |
|
|
|
|
|
|
|
let events: [Event] = try await services.get() |
|
|
|
|
|
|
|
let tournaments: [Tournament] = try await services.get() |
|
|
|
|
|
|
|
let rounds: [Round] = try await services.get() |
|
|
|
|
|
|
|
let groupStages: [GroupStage] = try await services.get() |
|
|
|
|
|
|
|
let matches: [Match] = try await services.get() |
|
|
|
|
|
|
|
let teamRegistrations: [TeamRegistration] = try await services.get() |
|
|
|
|
|
|
|
let teamScores: [TeamScore] = try await services.get() |
|
|
|
|
|
|
|
let playerRegistrations: [PlayerRegistration] = try await services.get() |
|
|
|
|
|
|
|
let courts: [Court] = try await services.get() |
|
|
|
|
|
|
|
let dateIntervals: [DateInterval] = try await services.get() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// for club in clubs { |
|
|
|
|
|
|
|
// club.creator = userId |
|
|
|
|
|
|
|
// } |
|
|
|
|
|
|
|
for event in events { |
|
|
|
|
|
|
|
event.creator = userId |
|
|
|
|
|
|
|
if let clubId = event.club, DataStore.shared.clubs.findById(clubId) == nil { |
|
|
|
|
|
|
|
if let club = clubs.first(where: { $0.id == clubId }) { |
|
|
|
|
|
|
|
club.creator = userId |
|
|
|
|
|
|
|
try? DataStore.shared.clubs.addOrUpdate(instance: club) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// try DataStore.shared.clubs.addOrUpdate(contentOfs: clubs) |
|
|
|
|
|
|
|
try DataStore.shared.events.addOrUpdate(contentOfs: events) |
|
|
|
|
|
|
|
try DataStore.shared.tournaments.addOrUpdate(contentOfs: tournaments) |
|
|
|
|
|
|
|
try DataStore.shared.rounds.addOrUpdate(contentOfs: rounds) |
|
|
|
|
|
|
|
try DataStore.shared.groupStages.addOrUpdate(contentOfs: groupStages) |
|
|
|
|
|
|
|
try DataStore.shared.matches.addOrUpdate(contentOfs: matches) |
|
|
|
|
|
|
|
try DataStore.shared.teamRegistrations.addOrUpdate(contentOfs: teamRegistrations) |
|
|
|
|
|
|
|
try DataStore.shared.teamScores.addOrUpdate(contentOfs: teamScores) |
|
|
|
|
|
|
|
try DataStore.shared.playerRegistrations.addOrUpdate(contentOfs: playerRegistrations) |
|
|
|
|
|
|
|
try DataStore.shared.courts.addOrUpdate(contentOfs: courts) |
|
|
|
|
|
|
|
try DataStore.shared.dateIntervals.addOrUpdate(contentOfs: dateIntervals) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|