Files
xiaobaifupan/next/backend/bootstrap/container.py
T

24 lines
668 B
Python

from __future__ import annotations
from dataclasses import dataclass
from backend.bootstrap.settings import Settings
from backend.database.connection import Database
from backend.database.repositories.status import DatabaseStatusRepository
@dataclass(frozen=True, slots=True)
class ApplicationContainer:
settings: Settings
database: Database
database_status: DatabaseStatusRepository
def build_container(settings: Settings) -> ApplicationContainer:
database = Database(settings.database_path)
return ApplicationContainer(
settings=settings,
database=database,
database_status=DatabaseStatusRepository(database),
)