Files
workouts/Workouts/Models/Workout.swift
2025-07-25 17:42:25 -04:00

52 lines
1.2 KiB
Swift

import Foundation
import SwiftData
@Model
final class Workout {
var start: Date = Date()
var end: Date?
var status: Int = 1
// var status: WorkoutStatus = WorkoutStatus.notStarted
//case notStarted = 1
//case inProgress = 2
//case completed = 3
//case skipped = 4
@Relationship(deleteRule: .nullify)
var split: Split?
@Relationship(deleteRule: .cascade, inverse: \WorkoutLog.workout)
var logs: [WorkoutLog]? = []
init(start: Date, end: Date, split: Split?) {
self.start = start
self.end = end
self.split = split
}
var label: String {
if status == 3, let endDate = end {
// if status == .completed, let endDate = end {
return "\(start.formattedDate())\(endDate.formattedDate())"
} else {
return start.formattedDate()
}
}
var statusName: String {
if status == 1 {
return "Not Started"
} else if status == 2 {
return "In Progress"
} else if status == 3 {
return "Completed"
} else if status == 4 {
return "Skipped"
} else {
return "In progress"
}
}
}