実際のDBで動作するように
This commit is contained in:
@@ -1,31 +1,29 @@
|
|||||||
|
from app.models import db
|
||||||
from app.models.workout import Workout
|
from app.models.workout import Workout
|
||||||
|
from typing import List
|
||||||
|
|
||||||
class WorkoutRepository:
|
class WorkoutRepository:
|
||||||
def __init__(self):
|
def add_workout(self, workout: Workout) -> Workout:
|
||||||
self.workouts = []
|
db.session.add(workout)
|
||||||
|
db.session.commit()
|
||||||
def add_workout(self, workout: Workout):
|
|
||||||
self.workouts.append(workout)
|
|
||||||
|
|
||||||
def get_all_workouts(self):
|
|
||||||
return self.workouts
|
|
||||||
|
|
||||||
def get_workout_by_id(self, workout_id: int):
|
|
||||||
for workout in self.workouts:
|
|
||||||
if workout.id == workout_id:
|
|
||||||
return workout
|
return workout
|
||||||
return None
|
|
||||||
|
|
||||||
def update_workout(self, workout_id: int, updated_workout: Workout):
|
def get_all_workouts(self) -> List[Workout]:
|
||||||
for i, workout in enumerate(self.workouts):
|
return Workout.query.all()
|
||||||
if workout.id == workout_id:
|
|
||||||
self.workouts[i] = updated_workout
|
def get_workout_by_id(self, workout_id: int) -> Workout | None:
|
||||||
|
return Workout.query.get(workout_id)
|
||||||
|
|
||||||
|
def update_workout(self, workout: Workout) -> Workout:
|
||||||
|
db.session.commit()
|
||||||
|
return workout
|
||||||
|
|
||||||
|
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 True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def delete_workout(self, workout_id: int):
|
# TODO:ジム入退時刻追加更新
|
||||||
for i, workout in enumerate(self.workouts):
|
|
||||||
if workout.id == workout_id:
|
|
||||||
del self.workouts[i]
|
|
||||||
return True
|
|
||||||
return False
|
|
@@ -6,10 +6,11 @@ class WorkoutService:
|
|||||||
self.workout_repository = WorkoutRepository()
|
self.workout_repository = WorkoutRepository()
|
||||||
|
|
||||||
def get_all_workouts(self):
|
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):
|
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:
|
if not workout:
|
||||||
return None
|
return None
|
||||||
return workout
|
return workout
|
||||||
|
# TODO:Workout追加、更新、ジム入退時刻追加更新
|
||||||
|
Reference in New Issue
Block a user