"""Code Samples domain dependency injection providers."""
from __future__ import annotations
from typing import TYPE_CHECKING
from pydotorg.domains.codesamples.repositories import CodeSampleRepository
from pydotorg.domains.codesamples.services import CodeSampleService
if TYPE_CHECKING:
from sqlalchemy.ext.asyncio import AsyncSession
[docs]
async def provide_code_sample_repository(db_session: AsyncSession) -> CodeSampleRepository:
"""Provide a CodeSampleRepository instance."""
return CodeSampleRepository(session=db_session)
[docs]
async def provide_code_sample_service(db_session: AsyncSession) -> CodeSampleService:
"""Provide a CodeSampleService instance."""
return CodeSampleService(session=db_session)
[docs]
def get_codesamples_dependencies() -> dict:
"""Get all code samples domain dependency providers."""
return {
"code_sample_repository": provide_code_sample_repository,
"code_sample_service": provide_code_sample_service,
}