"""Banners domain dependency injection providers."""
from __future__ import annotations
from typing import TYPE_CHECKING
from pydotorg.domains.banners.repositories import BannerRepository
from pydotorg.domains.banners.services import BannerService
if TYPE_CHECKING:
from sqlalchemy.ext.asyncio import AsyncSession
async def provide_banner_repository(db_session: AsyncSession) -> BannerRepository:
"""Provide a BannerRepository instance."""
return BannerRepository(session=db_session)
async def provide_banner_service(db_session: AsyncSession) -> BannerService:
"""Provide a BannerService instance."""
return BannerService(session=db_session)
[docs]
def get_banners_dependencies() -> dict:
"""Get all banners domain dependency providers."""
return {
"banner_repository": provide_banner_repository,
"banner_service": provide_banner_service,
}