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