From e8094c6e756c5513466e47b13000055de3db0c98 Mon Sep 17 00:00:00 2001 From: furu04 Date: Tue, 29 Jul 2025 18:33:12 +0900 Subject: [PATCH] =?UTF-8?q?=E5=AE=9F=E9=9A=9B=E3=81=AEDB=E3=81=A7=E5=8B=95?= =?UTF-8?q?=E4=BD=9C=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/repositories/workout_repository.py | 44 ++++++++++++-------------- app/services/workout_service.py | 7 ++-- 2 files changed, 25 insertions(+), 26 deletions(-) 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追加、更新、ジム入退時刻追加更新