f1tness_parser/dbapi/repositories/exercise_repo.py
2025-01-20 21:42:16 +03:00

25 lines
913 B
Python

from sqlalchemy import insert
from dbapi.repositories.utils import DatabaseInterfasesMixin
from dbapi.tables import exercise
class ExerciseRepository(DatabaseInterfasesMixin):
"""Exercise table repository"""
def create_exercise(self, training_pk: int, exercise_name: str) -> int:
"""Method for creating new instance of exercise table
Args:
training_pk: Primary key of associated training instance
exercise_name: Name of an exercise
Returns:
Primary key of created exercise entry
"""
new_instance_statement = insert(exercise).values(
Training=training_pk, Name=exercise_name
)
with self.engine.connect() as conn:
result = conn.execute(new_instance_statement)
inserted_entry_pk: int = result.inserted_primary_key[0]
conn.commit()
return inserted_entry_pk