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
|
from flask_login import LoginManager
|
||||||
import os
|
import os
|
||||||
|
|
||||||
# db = SQLAlchemy()
|
db = SQLAlchemy()
|
||||||
login_manager = LoginManager()
|
login_manager = LoginManager()
|
||||||
#login_manager.login_view = 'auth.login'
|
#login_manager.login_view = 'auth.login'
|
||||||
login_manager.login_message_category = 'info'
|
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_DATABASE_URI'] = 'mysql+pymysql://root:password@localhost/workout'
|
||||||
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
||||||
|
|
||||||
#db.init_app(app)
|
db.init_app(app)
|
||||||
#login_manager.init_app(app)
|
login_manager.init_app(app)
|
||||||
|
|
||||||
#with app.app_context():
|
with app.app_context():
|
||||||
#db.create_all()
|
from . import models
|
||||||
|
db.create_all()
|
||||||
|
|
||||||
return app
|
return app
|
@@ -1,3 +1,4 @@
|
|||||||
|
<!-- プロトタイプ -->
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ja">
|
<html lang="ja">
|
||||||
<head>
|
<head>
|
||||||
|
@@ -1,2 +1 @@
|
|||||||
from . import db
|
from .workout import Workout, User, Exercise, WorkoutLog, GymAdmissionLog
|
||||||
from datetime import datetime
|
|
||||||
|
@@ -63,3 +63,12 @@ class WorkoutLog(db.Model):
|
|||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return f'<Log: Set {self.set_number} of {self.exercise.name}>'
|
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:
|
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_workout_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
|
|
||||||
|
@@ -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()
|
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