This commit is contained in:
Trey t
2023-07-28 11:15:13 -05:00
parent 2dcd260887
commit 1997abeff6
13 changed files with 264 additions and 101 deletions

View File

@@ -7,7 +7,7 @@
import Foundation
struct RegisteredUser: Codable {
struct RegisteredUser: Codable, Hashable {
let id: Int
let firstName, lastName, image: String?
let nickName: String?

View File

@@ -12,12 +12,14 @@ struct Superset: Codable, Identifiable, Hashable {
let exercises: [SupersetExercise]
let createdAt, updatedAt, name: String?
let rounds, order, workout: Int
let estimatedTime: Double?
enum CodingKeys: String, CodingKey {
case id, exercises
case createdAt = "created_at"
case updatedAt = "updated_at"
case name, rounds, order, workout
case estimatedTime = "estimated_time"
}
public func hash(into hasher: inout Hasher) {

View File

@@ -21,6 +21,9 @@ struct Workout: Codable, Identifiable, Equatable {
let muscles: [String]?
let equipment: [String]?
let exercise_count: Int?
let createdAt: Date?
let estimatedTime: Double?
let allSupersetExecercise: [SupersetExercise]?
enum CodingKeys: String, CodingKey {
case id, name, description, supersets, exercise_count, muscles, equipment
@@ -28,6 +31,9 @@ struct Workout: Codable, Identifiable, Equatable {
case maleVideos = "male_videos"
case femaleVideos = "female_videos"
case bothVideos = "both_videos"
case createdAt = "created_at"
case estimatedTime = "estimated_time"
case allSupersetExecercise = "all_superset_exercise"
}
init(from decoder: Decoder) throws {
@@ -45,5 +51,20 @@ struct Workout: Codable, Identifiable, Equatable {
self.equipment = try container.decodeIfPresent([String].self, forKey: .equipment)
self.muscles = try container.decodeIfPresent([String].self, forKey: .muscles)
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.estimatedTime = try container.decodeIfPresent(Double.self, forKey: .estimatedTime)
allSupersetExecercise = try container.decodeIfPresent([SupersetExercise].self, forKey: .allSupersetExecercise)
}
}