Stabilize iOS/watchOS/tvOS apps and add cross-platform audit remediation
This commit is contained in:
@@ -31,6 +31,37 @@ struct Workout: Codable, Identifiable, Equatable {
|
||||
case estimatedTime = "estimated_time"
|
||||
case allSupersetExecercise = "all_superset_exercise"
|
||||
}
|
||||
|
||||
private static let createdAtFormatter: DateFormatter = {
|
||||
let formatter = DateFormatter()
|
||||
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssX"
|
||||
formatter.locale = Locale(identifier: "en_US_POSIX")
|
||||
return formatter
|
||||
}()
|
||||
|
||||
init(id: Int,
|
||||
name: String,
|
||||
description: String? = nil,
|
||||
supersets: [Superset]? = nil,
|
||||
registeredUser: RegisteredUser? = nil,
|
||||
muscles: [String]? = nil,
|
||||
equipment: [String]? = nil,
|
||||
exercise_count: Int? = nil,
|
||||
createdAt: Date? = nil,
|
||||
estimatedTime: Double? = nil,
|
||||
allSupersetExecercise: [SupersetExercise]? = nil) {
|
||||
self.id = id
|
||||
self.name = name
|
||||
self.description = description
|
||||
self.supersets = supersets
|
||||
self.registeredUser = registeredUser
|
||||
self.muscles = muscles
|
||||
self.equipment = equipment
|
||||
self.exercise_count = exercise_count
|
||||
self.createdAt = createdAt
|
||||
self.estimatedTime = estimatedTime
|
||||
self.allSupersetExecercise = allSupersetExecercise
|
||||
}
|
||||
|
||||
init(from decoder: Decoder) throws {
|
||||
let container = try decoder.container(keyedBy: CodingKeys.self)
|
||||
@@ -46,15 +77,7 @@ struct Workout: Codable, Identifiable, Equatable {
|
||||
self.exercise_count = try container.decodeIfPresent(Int.self, forKey: .exercise_count)
|
||||
|
||||
let createdAtStr = try container.decodeIfPresent(String.self, forKey: .createdAt)
|
||||
if let createdAtStr = createdAtStr {
|
||||
let formatter = DateFormatter()
|
||||
formatter.locale = Locale(identifier: "en_US_POSIX")
|
||||
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
|
||||
let date = formatter.date(from: createdAtStr)
|
||||
self.createdAt = date
|
||||
} else {
|
||||
self.createdAt = nil
|
||||
}
|
||||
self.createdAt = createdAtStr.flatMap { Self.createdAtFormatter.date(from: $0) }
|
||||
|
||||
self.estimatedTime = try container.decodeIfPresent(Double.self, forKey: .estimatedTime)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user