diff --git a/app/repositories/workout_repository.py b/app/repositories/workout_repository.py index feb226e..753d90e 100644 --- a/app/repositories/workout_repository.py +++ b/app/repositories/workout_repository.py @@ -1,31 +1,29 @@ +from app.models import db from app.models.workout import Workout +from typing import List class WorkoutRepository: - def __init__(self): - self.workouts = [] + def add_workout(self, workout: Workout) -> Workout: + db.session.add(workout) + db.session.commit() + return workout - def add_workout(self, workout: Workout): - self.workouts.append(workout) + def get_all_workouts(self) -> List[Workout]: + return Workout.query.all() - def get_all_workouts(self): - return self.workouts + def get_workout_by_id(self, workout_id: int) -> Workout | None: + return Workout.query.get(workout_id) - def get_workout_by_id(self, workout_id: int): - for workout in self.workouts: - if workout.id == workout_id: - return workout - return None + def update_workout(self, workout: Workout) -> Workout: + db.session.commit() + return workout - def update_workout(self, workout_id: int, updated_workout: Workout): - for i, workout in enumerate(self.workouts): - if workout.id == workout_id: - self.workouts[i] = updated_workout - return True + def delete_workout(self, workout_id: int) -> bool: + workout = self.get_by_id(workout_id) + if workout: + db.session.delete(workout) + db.session.commit() + return True return False - - def delete_workout(self, workout_id: int): - for i, workout in enumerate(self.workouts): - if workout.id == workout_id: - del self.workouts[i] - return True - return False \ No newline at end of file + + # TODO:ジム入退時刻追加更新 \ No newline at end of file diff --git a/app/services/workout_service.py b/app/services/workout_service.py index 226e50d..507b747 100644 --- a/app/services/workout_service.py +++ b/app/services/workout_service.py @@ -6,10 +6,11 @@ class WorkoutService: self.workout_repository = WorkoutRepository() def get_all_workouts(self): - return self.workout_repository.get_all() + return self.workout_repository.get_all_workouts() def get_workout_by_id(self, workout_id): - workout = self.workout_repository.get_by_id(workout_id) + workout = self.workout_repository.get_workout_by_id(workout_id) if not workout: return None - return workout \ No newline at end of file + return workout + # TODO:Workout追加、更新、ジム入退時刻追加更新