Compare commits
7 Commits
d22c39c333
...
develop
Author | SHA1 | Date | |
---|---|---|---|
8f92a29eef | |||
a3249a6067 | |||
d19a7119b2 | |||
3dcc69a49a | |||
e8094c6e75 | |||
5c29ad9cf6 | |||
8949e4db12 |
@@ -3,7 +3,7 @@ from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_login import LoginManager
|
||||
import os
|
||||
|
||||
# db = SQLAlchemy()
|
||||
db = SQLAlchemy()
|
||||
login_manager = LoginManager()
|
||||
#login_manager.login_view = 'auth.login'
|
||||
login_manager.login_message_category = 'info'
|
||||
@@ -16,10 +16,11 @@ def create_app():
|
||||
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:password@localhost/workout'
|
||||
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
||||
|
||||
#db.init_app(app)
|
||||
#login_manager.init_app(app)
|
||||
db.init_app(app)
|
||||
login_manager.init_app(app)
|
||||
|
||||
#with app.app_context():
|
||||
#db.create_all()
|
||||
with app.app_context():
|
||||
from . import models
|
||||
db.create_all()
|
||||
|
||||
return app
|
@@ -1,3 +1,4 @@
|
||||
<!-- プロトタイプ -->
|
||||
<!DOCTYPE html>
|
||||
<html lang="ja">
|
||||
<head>
|
||||
|
@@ -1,2 +1 @@
|
||||
from . import db
|
||||
from datetime import datetime
|
||||
from .workout import Workout, User, Exercise, WorkoutLog, GymAdmissionLog
|
||||
|
@@ -63,3 +63,12 @@ class WorkoutLog(db.Model):
|
||||
|
||||
def __repr__(self):
|
||||
return f'<Log: Set {self.set_number} of {self.exercise.name}>'
|
||||
|
||||
class GymAdmissionLog(db.model):
|
||||
__tablename__ = 'gym_admission_logs'
|
||||
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
|
||||
gym_name = db.Column(db.String(120), nullable=False)
|
||||
enter_at = db.Column(db.DateTime, nullable=False)
|
||||
exit_at = db.Column(db.DateTime, nullable=False)
|
@@ -1 +1 @@
|
||||
from app.models.workout import Workout
|
||||
from .workout_repository import WorkoutRepository
|
@@ -1,31 +1,29 @@
|
||||
from app.models.workout import Workout
|
||||
from app import db
|
||||
from app.models 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_workout_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
|
||||
# TODO:ジム入退時刻追加更新
|
||||
|
@@ -1,2 +1 @@
|
||||
from app.repositories.workout_repository import WorkoutRepository
|
||||
from app.models.workout import Workout
|
||||
|
||||
|
@@ -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
|
||||
# TODO:Workout追加、更新、ジム入退時刻追加更新
|
||||
|
Reference in New Issue
Block a user