|
|
|
|
@ -8,7 +8,7 @@ import SwiftUI |
|
|
|
|
@Observable |
|
|
|
|
class BaseMatchScheduler: ModelObject, Storable, Codable { |
|
|
|
|
|
|
|
|
|
static func resourceName() -> String { return "match-schedulers" } |
|
|
|
|
static func resourceName() -> String { return "match-scheduler" } |
|
|
|
|
static func tokenExemptedMethods() -> [HTTPMethod] { return [] } |
|
|
|
|
static func filterByStoreIdentifier() -> Bool { return false } |
|
|
|
|
|
|
|
|
|
@ -26,6 +26,7 @@ class BaseMatchScheduler: ModelObject, Storable, Codable { |
|
|
|
|
var groupStageChunkCount: Int? = nil |
|
|
|
|
var overrideCourtsUnavailability: Bool = false |
|
|
|
|
var shouldTryToFillUpCourtsAvailable: Bool = false |
|
|
|
|
var storeId: String? = nil |
|
|
|
|
|
|
|
|
|
init( |
|
|
|
|
id: String = Store.randomId(), |
|
|
|
|
@ -41,7 +42,8 @@ class BaseMatchScheduler: ModelObject, Storable, Codable { |
|
|
|
|
shouldEndRoundBeforeStartingNext: Bool = false, |
|
|
|
|
groupStageChunkCount: Int? = nil, |
|
|
|
|
overrideCourtsUnavailability: Bool = false, |
|
|
|
|
shouldTryToFillUpCourtsAvailable: Bool = false |
|
|
|
|
shouldTryToFillUpCourtsAvailable: Bool = false, |
|
|
|
|
storeId: String? = nil |
|
|
|
|
) { |
|
|
|
|
super.init() |
|
|
|
|
self.id = id |
|
|
|
|
@ -58,6 +60,7 @@ class BaseMatchScheduler: ModelObject, Storable, Codable { |
|
|
|
|
self.groupStageChunkCount = groupStageChunkCount |
|
|
|
|
self.overrideCourtsUnavailability = overrideCourtsUnavailability |
|
|
|
|
self.shouldTryToFillUpCourtsAvailable = shouldTryToFillUpCourtsAvailable |
|
|
|
|
self.storeId = storeId |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
enum CodingKeys: String, CodingKey { |
|
|
|
|
@ -75,6 +78,7 @@ class BaseMatchScheduler: ModelObject, Storable, Codable { |
|
|
|
|
case _groupStageChunkCount = "groupStageChunkCount" |
|
|
|
|
case _overrideCourtsUnavailability = "overrideCourtsUnavailability" |
|
|
|
|
case _shouldTryToFillUpCourtsAvailable = "shouldTryToFillUpCourtsAvailable" |
|
|
|
|
case _storeId = "storeId" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
required init(from decoder: Decoder) throws { |
|
|
|
|
@ -94,6 +98,7 @@ class BaseMatchScheduler: ModelObject, Storable, Codable { |
|
|
|
|
self.groupStageChunkCount = try container.decodeIfPresent(Int.self, forKey: ._groupStageChunkCount) ?? nil |
|
|
|
|
self.overrideCourtsUnavailability = try container.decodeIfPresent(Bool.self, forKey: ._overrideCourtsUnavailability) ?? false |
|
|
|
|
self.shouldTryToFillUpCourtsAvailable = try container.decodeIfPresent(Bool.self, forKey: ._shouldTryToFillUpCourtsAvailable) ?? false |
|
|
|
|
self.storeId = try container.decodeIfPresent(String.self, forKey: ._storeId) ?? nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func encode(to encoder: Encoder) throws { |
|
|
|
|
@ -112,6 +117,7 @@ class BaseMatchScheduler: ModelObject, Storable, Codable { |
|
|
|
|
try container.encode(self.groupStageChunkCount, forKey: ._groupStageChunkCount) |
|
|
|
|
try container.encode(self.overrideCourtsUnavailability, forKey: ._overrideCourtsUnavailability) |
|
|
|
|
try container.encode(self.shouldTryToFillUpCourtsAvailable, forKey: ._shouldTryToFillUpCourtsAvailable) |
|
|
|
|
try container.encode(self.storeId, forKey: ._storeId) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func tournamentValue() -> Tournament? { |
|
|
|
|
@ -134,5 +140,6 @@ class BaseMatchScheduler: ModelObject, Storable, Codable { |
|
|
|
|
self.groupStageChunkCount = matchscheduler.groupStageChunkCount |
|
|
|
|
self.overrideCourtsUnavailability = matchscheduler.overrideCourtsUnavailability |
|
|
|
|
self.shouldTryToFillUpCourtsAvailable = matchscheduler.shouldTryToFillUpCourtsAvailable |
|
|
|
|
self.storeId = matchscheduler.storeId |
|
|
|
|
} |
|
|
|
|
} |