// // WorkoutSessionItem.swift // WorkoutsPlus // // Created by Felix Förtsch on 15.10.24. // import Foundation import SwiftData @Model final class WorkoutSessionItem: Nameable, Positionable { var id = UUID() var position: Int var name: String var workoutSession: WorkoutSession var plannedReps: Int // 8 times | 1 time var plannedValue: Double // With 10 | 42,187 var unit: ExerciseUnit? var metric: ExerciseType? // kg (weight) | km (distance) var actualReps: Int? var actualValue: Double? var startDate: Date? var stopDate: Date? func isCompleted() -> Bool { stopDate != nil } init(workoutSession: WorkoutSession, planned: WorkoutItem) { self.workoutSession = workoutSession self.name = planned.exercise.name self.position = planned.position self.plannedReps = planned.plannedReps self.plannedValue = planned.plannedValue } func start() { startDate = .now } func stop() { stopDate = .now } }