import Foundation import SwiftData @Model final class Workout { var start: Date = Date() var end: Date? var status: WorkoutStatus? = WorkoutStatus.notStarted @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 == .completed, let endDate = end { return "\(start.formattedDate())—\(endDate.formattedDate())" } else { return start.formattedDate() } } }