24 lines
668 B
Python
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),
|
|
)
|