Catalogs Domain Dependencies

Provides dependency injection providers for catalog services, ensuring scoped database sessions for each request.

async provide_muscle_group_service(db_session: DatabaseSession) AsyncGenerator[MuscleGroupService, None][source]

Provide a new, scoped instance of the MuscleGroupService.

Parameters:

db_session (AsyncSession) – The current database session.

Yields:

MuscleGroupService – The new service instance.

async provide_equipment_service(db_session: DatabaseSession) AsyncGenerator[EquipmentService, None][source]

Provide a new, scoped instance of the EquipmentService.

Parameters:

db_session (AsyncSession) – The current database session.

Yields:

EquipmentService – The new service instance.

async provide_exercise_tag_service(db_session: DatabaseSession) AsyncGenerator[ExerciseTagService, None][source]

Provide a new, scoped instance of the ExerciseTagService.

Parameters:

db_session (AsyncSession) – The current database session.

Yields:

ExerciseTagService – The new service instance.

MuscleGroupDep = Annotated[MuscleGroupService, Depends(provide_muscle_group_service)]

Dependency injection provider for the muscle group service.

EquipmentDep = Annotated[EquipmentService, Depends(provide_equipment_service)]

Dependency injection provider for the equipment service.

ExerciseTagDep = Annotated[ExerciseTagService, Depends(provide_exercise_tag_service)]

Dependency injection provider for the exercise tag service.