From 95c95d1a87b18cb8844ec8b4114f71ad13e0ff92 Mon Sep 17 00:00:00 2001 From: Raz Date: Thu, 22 May 2025 12:24:11 +0200 Subject: [PATCH] clean up init --- PadelClubData/Data/Court.swift | 20 ------ PadelClubData/Data/CustomUser.swift | 22 ------ PadelClubData/Data/DateInterval.swift | 29 -------- .../Data/Gen/BaseTeamRegistration.swift | 6 +- PadelClubData/Data/Gen/TeamRegistration.json | 1 + PadelClubData/Data/Match.swift | 18 +---- PadelClubData/Data/MatchScheduler.swift | 39 +--------- PadelClubData/Data/PlayerRegistration.swift | 40 +---------- PadelClubData/Data/Round.swift | 38 +++------- PadelClubData/Data/TeamRegistration.swift | 72 +++++++++---------- PadelClubData/Data/TeamScore.swift | 25 +------ PadelClubData/Data/Tournament.swift | 6 +- 12 files changed, 56 insertions(+), 260 deletions(-) diff --git a/PadelClubData/Data/Court.swift b/PadelClubData/Data/Court.swift index 645fed8..4ff3cab 100644 --- a/PadelClubData/Data/Court.swift +++ b/PadelClubData/Data/Court.swift @@ -16,26 +16,6 @@ final public class Court: BaseCourt { lhs.id == rhs.id } - public init(index: Int, club: String, name: String? = nil, exitAllowed: Bool = false, indoor: Bool = false) { - - super.init() - - self.index = index - self.lastUpdate = Date() - self.club = club - self.name = name - self.exitAllowed = exitAllowed - self.indoor = indoor - } - - required init(from decoder: Decoder) throws { - try super.init(from: decoder) - } - - required public init() { - super.init() - } - public func courtTitle() -> String { self.name ?? courtIndexTitle() } diff --git a/PadelClubData/Data/CustomUser.swift b/PadelClubData/Data/CustomUser.swift index 30f3274..0275ea8 100644 --- a/PadelClubData/Data/CustomUser.swift +++ b/PadelClubData/Data/CustomUser.swift @@ -97,28 +97,6 @@ public class CustomUser: BaseCustomUser, UserBase { // // var deviceId: String? - public init(username: String, email: String, firstName: String, lastName: String, phone: String?, country: String?, loserBracketMode: LoserBracketMode = .automatic) { - super.init(username: username, email: email, firstName: firstName, lastName: lastName, phone: phone, country: country, loserBracketMode: loserBracketMode) - - -// self.lastUpdate = Date() -// self.username = username -// self.firstName = firstName -// self.lastName = lastName -// self.email = email -// self.phone = phone -// self.country = country -// self.loserBracketMode = loserBracketMode - } - - required init(from decoder: Decoder) throws { - try super.init(from: decoder) - } - - required public init() { - super.init() - } - public func uuid() throws -> UUID { if let uuid = UUID(uuidString: self.id) { return uuid diff --git a/PadelClubData/Data/DateInterval.swift b/PadelClubData/Data/DateInterval.swift index c141a1a..295e864 100644 --- a/PadelClubData/Data/DateInterval.swift +++ b/PadelClubData/Data/DateInterval.swift @@ -12,35 +12,6 @@ import LeStorage @Observable final public class DateInterval: BaseDateInterval { -// static func resourceName() -> String { return "date-intervals" } -// static func tokenExemptedMethods() -> [HTTPMethod] { return [] } -// static func filterByStoreIdentifier() -> Bool { return false } -// static var relationshipNames: [String] = [] -// -// var id: String = Store.randomId() -// var lastUpdate: Date -// var event: String -// var courtIndex: Int -// var startDate: Date -// var endDate: Date - - public init(event: String, courtIndex: Int, startDate: Date, endDate: Date) { - super.init(event: event, courtIndex: courtIndex, startDate: startDate, endDate: endDate) -// self.lastUpdate = Date() -// self.event = event -// self.courtIndex = courtIndex -// self.startDate = startDate -// self.endDate = endDate - } - - required init(from decoder: any Decoder) throws { - try super.init(from: decoder) - } - - required public init() { - super.init() - } - var range: Range { startDate.. = Set(), -// simultaneousStart: Bool = true) { -//>>>>>>> main -// self.tournament = tournament -// self.timeDifferenceLimit = timeDifferenceLimit -// self.loserBracketRotationDifference = loserBracketRotationDifference -// self.upperBracketRotationDifference = upperBracketRotationDifference -// self.accountUpperBracketBreakTime = accountUpperBracketBreakTime -// self.accountLoserBracketBreakTime = accountLoserBracketBreakTime -// self.randomizeCourts = randomizeCourts -// self.rotationDifferenceIsImportant = rotationDifferenceIsImportant -// self.shouldHandleUpperRoundSlice = shouldHandleUpperRoundSlice -// self.shouldEndRoundBeforeStartingNext = shouldEndRoundBeforeStartingNext -// self.groupStageChunkCount = groupStageChunkCount -// self.overrideCourtsUnavailability = overrideCourtsUnavailability -// self.shouldTryToFillUpCourtsAvailable = shouldTryToFillUpCourtsAvailable -// self.courtsAvailable = courtsAvailable -// self.simultaneousStart = simultaneousStart -// } - + var courtsUnavailability: [DateInterval]? { guard let event = tournamentObject()?.eventObject() else { return nil } return event.courtsUnavailability + (overrideCourtsUnavailability ? [] : event.tournamentsCourtsUsed(exluding: tournament)) diff --git a/PadelClubData/Data/PlayerRegistration.swift b/PadelClubData/Data/PlayerRegistration.swift index 3c59cfb..773934b 100644 --- a/PadelClubData/Data/PlayerRegistration.swift +++ b/PadelClubData/Data/PlayerRegistration.swift @@ -24,45 +24,7 @@ final public class PlayerRegistration: BasePlayerRegistration, SideStorable { return "créé par vous-même" } } - } - - public init(teamRegistration: String? = nil, firstName: String, lastName: String, licenceId: String? = nil, rank: Int? = nil, paymentType: PlayerPaymentType? = nil, sex: PlayerSexType? = nil, tournamentPlayed: Int? = nil, points: Double? = nil, clubName: String? = nil, ligueName: String? = nil, assimilation: String? = nil, phoneNumber: String? = nil, email: String? = nil, birthdate: String? = nil, computedRank: Int = 0, source: PlayerRegistration.PlayerDataSource? = nil, hasArrived: Bool = false, coach: Bool = false, captain: Bool = false, registeredOnline: Bool = false, timeToConfirm: Date? = nil, registrationStatus: PlayerRegistration.RegistrationStatus = PlayerRegistration.RegistrationStatus.waiting, paymentId: String? = nil, clubCode: String? = nil, clubMember: Bool = false) { - super.init() - self.teamRegistration = teamRegistration - self.firstName = firstName - self.lastName = lastName - self.licenceId = licenceId - self.rank = rank - self.paymentType = paymentType - self.sex = sex - self.tournamentPlayed = tournamentPlayed - self.points = points - self.clubName = clubName - self.ligueName = ligueName - self.assimilation = assimilation - self.phoneNumber = phoneNumber - self.email = email - self.birthdate = birthdate - self.computedRank = computedRank - self.source = source - self.hasArrived = hasArrived - self.coach = coach - self.captain = captain - self.registeredOnline = registeredOnline - self.timeToConfirm = timeToConfirm - self.registrationStatus = registrationStatus - self.paymentId = paymentId - self.clubCode = clubCode - self.clubMember = clubMember - } - - required init(from decoder: any Decoder) throws { - try super.init(from: decoder) - } - - required public init() { - super.init() - } + } public var tournamentStore: TournamentStore? { guard let storeId else { diff --git a/PadelClubData/Data/Round.swift b/PadelClubData/Data/Round.swift index b77df39..e00dfed 100644 --- a/PadelClubData/Data/Round.swift +++ b/PadelClubData/Data/Round.swift @@ -21,28 +21,6 @@ final public class Round: BaseRound, SideStorable { @ObservationIgnored private var _cachedLoserRoundsAndChildren: [Round]? - public init(tournament: String, index: Int, parent: String? = nil, matchFormat: MatchFormat? = nil, startDate: Date? = nil, groupStageLoserBracket: Bool = false, loserBracketMode: LoserBracketMode = .automatic) { - - super.init(tournament: tournament, index: index, parent: parent, format: matchFormat, startDate: startDate, groupStageLoserBracket: groupStageLoserBracket, loserBracketMode: loserBracketMode) - -// self.lastUpdate = Date() -// self.tournament = tournament -// self.index = index -// self.parent = parent -// self.format = matchFormat -// self.startDate = startDate -// self.groupStageLoserBracket = groupStageLoserBracket -// self.loserBracketMode = loserBracketMode - } - - required init(from decoder: any Decoder) throws { - try super.init(from: decoder) - } - - required public init() { - super.init() - } - // MARK: - DidSet public override func didSetStartDate() { @@ -265,7 +243,7 @@ defer { } #endif let parentRound = parentRound - if let parentRound, parentRound.parent == nil, groupStageLoserBracket == false, parentRound.loserBracketMode != .automatic { + if let parentRound, parentRound.parent == nil, isGroupStageLoserBracket() == false, parentRound.loserBracketMode != .automatic { return nil } @@ -286,7 +264,7 @@ defer { #endif let parentRound = parentRound - if let parentRound, parentRound.parent == nil, groupStageLoserBracket == false, parentRound.loserBracketMode != .automatic { + if let parentRound, parentRound.parent == nil, isGroupStageLoserBracket() == false, parentRound.loserBracketMode != .automatic { return nil } @@ -647,7 +625,7 @@ defer { } public func roundTitle(_ displayStyle: DisplayStyle = .wide, initialMode: Bool = false) -> String { - if groupStageLoserBracket { + if isGroupStageLoserBracket() { return "Classement Poules" } @@ -752,11 +730,11 @@ defer { } public func isUpperBracket() -> Bool { - return parent == nil && groupStageLoserBracket == false + return parent == nil && isGroupStageLoserBracket() == false } public func isLoserBracket() -> Bool { - return parent != nil || groupStageLoserBracket + return parent != nil || isGroupStageLoserBracket() } public func deleteLoserBracket() { @@ -793,7 +771,7 @@ defer { var titles = [String: String]() let rounds = (0.. Bool { + groupStageLoserBracket == true + } + public override func deleteDependencies(store: Store, shouldBeSynchronized: Bool) { store.deleteDependencies(type: Match.self, shouldBeSynchronized: shouldBeSynchronized) { $0.round == self.id } diff --git a/PadelClubData/Data/TeamRegistration.swift b/PadelClubData/Data/TeamRegistration.swift index 3ed6fd0..f07fcb4 100644 --- a/PadelClubData/Data/TeamRegistration.swift +++ b/PadelClubData/Data/TeamRegistration.swift @@ -14,38 +14,38 @@ final public class TeamRegistration: BaseTeamRegistration, SideStorable { @ObservationIgnored var _cachedRestingTime: (Bool, Date?)? - public init( - tournament: String, groupStage: String? = nil, registrationDate: Date? = nil, - callDate: Date? = nil, bracketPosition: Int? = nil, groupStagePosition: Int? = nil, - comment: String? = nil, source: String? = nil, sourceValue: String? = nil, - logo: String? = nil, name: String? = nil, walkOut: Bool = false, - wildCardBracket: Bool = false, wildCardGroupStage: Bool = false, weight: Int = 0, - lockedWeight: Int? = nil, confirmationDate: Date? = nil, qualified: Bool = false - ) { - - super.init() - - // self.storeId = tournament - self.tournament = tournament - self.groupStage = groupStage - self.registrationDate = registrationDate ?? Date() - self.callDate = callDate - self.bracketPosition = bracketPosition - self.groupStagePosition = groupStagePosition - self.comment = comment - self.source = source - self.sourceValue = sourceValue - self.logo = logo - self.name = name - self.walkOut = walkOut - self.wildCardBracket = wildCardBracket - self.wildCardGroupStage = wildCardGroupStage - self.weight = weight - self.lockedWeight = lockedWeight - self.confirmationDate = confirmationDate - self.qualified = qualified - } - +// public init( +// tournament: String, groupStage: String? = nil, registrationDate: Date? = nil, +// callDate: Date? = nil, bracketPosition: Int? = nil, groupStagePosition: Int? = nil, +// comment: String? = nil, source: String? = nil, sourceValue: String? = nil, +// logo: String? = nil, name: String? = nil, walkOut: Bool = false, +// wildCardBracket: Bool = false, wildCardGroupStage: Bool = false, weight: Int = 0, +// lockedWeight: Int? = nil, confirmationDate: Date? = nil, qualified: Bool = false +// ) { +// +// super.init() +// +// // self.storeId = tournament +// self.tournament = tournament +// self.groupStage = groupStage +// self.registrationDate = registrationDate ?? Date() +// self.callDate = callDate +// self.bracketPosition = bracketPosition +// self.groupStagePosition = groupStagePosition +// self.comment = comment +// self.source = source +// self.sourceValue = sourceValue +// self.logo = logo +// self.name = name +// self.walkOut = walkOut +// self.wildCardBracket = wildCardBracket +// self.wildCardGroupStage = wildCardGroupStage +// self.weight = weight +// self.lockedWeight = lockedWeight +// self.confirmationDate = confirmationDate +// self.qualified = qualified +// } +// public func hasRegisteredOnline() -> Bool { players().anySatisfy({ $0.registeredOnline }) } @@ -72,14 +72,6 @@ final public class TeamRegistration: BaseTeamRegistration, SideStorable { walkOut } - required init(from decoder: any Decoder) throws { - try super.init(from: decoder) - } - - required public init() { - super.init() - } - public var tournamentStore: TournamentStore? { return TournamentLibrary.shared.store(tournamentId: self.tournament) } diff --git a/PadelClubData/Data/TeamScore.swift b/PadelClubData/Data/TeamScore.swift index c5fb7c7..1c21ae4 100644 --- a/PadelClubData/Data/TeamScore.swift +++ b/PadelClubData/Data/TeamScore.swift @@ -27,33 +27,14 @@ final public class TeamScore: BaseTeamScore, SideStorable { // var luckyLoser: Int? // // var storeId: String? = nil - - init(match: String, teamRegistration: String? = nil, score: String? = nil, walkOut: Int? = nil, luckyLoser: Int? = nil) { - super.init(match: match, teamRegistration: teamRegistration, score: score, walkOut: walkOut, luckyLoser: luckyLoser) - -// self.match = match -// self.teamRegistration = teamRegistration -//// self.playerRegistrations = playerRegistrations -// self.score = score -// self.walkOut = walkOut -// self.luckyLoser = luckyLoser - } - init(match: String, team: TeamRegistration?) { - super.init(match: match) + convenience init(match: String, team: TeamRegistration?) { + self.init(match: match) if let team { self.teamRegistration = team.id } } - - required init(from decoder: Decoder) throws { - try super.init(from: decoder) - } - - required public init() { - super.init() - } - + var tournamentStore: TournamentStore? { guard let storeId else { fatalError("missing store id for \(String(describing: type(of: self)))") diff --git a/PadelClubData/Data/Tournament.swift b/PadelClubData/Data/Tournament.swift index 515a012..3f6529a 100644 --- a/PadelClubData/Data/Tournament.swift +++ b/PadelClubData/Data/Tournament.swift @@ -1415,7 +1415,7 @@ defer { let matchCount = RoundRule.numberOfMatches(forTeams: minimalBracketTeamCount ?? bracketTeamCount()) let rounds = (0.. Round? { - self.tournamentStore?.rounds.first(where: { $0.groupStageLoserBracket }) + self.tournamentStore?.rounds.first(where: { $0.isGroupStageLoserBracket() }) } public func groupStageLoserBracketsInitialPlace() -> Int { @@ -2026,7 +2026,7 @@ defer { public func addNewRound(_ roundIndex: Int) async { await MainActor.run { - let round = Round(tournament: id, index: roundIndex, matchFormat: matchFormat) + let round = Round(tournament: id, index: roundIndex, format: matchFormat) let matchCount = RoundRule.numberOfMatches(forRoundIndex: roundIndex) let matchStartIndex = RoundRule.matchIndex(fromRoundIndex: roundIndex) let nextRound = round.nextRound()