25 lines
913 B
Python
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
|