rebuild(stage-3): establish accounts permissions and secure settings
This commit is contained in:
@@ -5,6 +5,14 @@ from dataclasses import dataclass
|
||||
from backend.bootstrap.settings import Settings
|
||||
from backend.database.connection import Database
|
||||
from backend.database.repositories.status import DatabaseStatusRepository
|
||||
from backend.features.accounts.credentials import SystemCredentialService
|
||||
from backend.features.accounts.model_pool import ModelPoolRepository, ModelPoolService
|
||||
from backend.features.accounts.repository import AccountRepository, SystemCredentialRepository
|
||||
from backend.features.accounts.service import (
|
||||
AccountService,
|
||||
MembershipService,
|
||||
)
|
||||
from backend.security import PasswordHasher, load_or_create_cipher
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
@@ -12,12 +20,24 @@ class ApplicationContainer:
|
||||
settings: Settings
|
||||
database: Database
|
||||
database_status: DatabaseStatusRepository
|
||||
accounts: AccountService
|
||||
memberships: MembershipService
|
||||
system_credentials: SystemCredentialService
|
||||
model_pool: ModelPoolService
|
||||
|
||||
|
||||
def build_container(settings: Settings) -> ApplicationContainer:
|
||||
database = Database(settings.database_path)
|
||||
account_repository = AccountRepository()
|
||||
credential_repository = SystemCredentialRepository()
|
||||
model_pool_repository = ModelPoolRepository()
|
||||
cipher = load_or_create_cipher(settings)
|
||||
return ApplicationContainer(
|
||||
settings=settings,
|
||||
database=database,
|
||||
database_status=DatabaseStatusRepository(database),
|
||||
accounts=AccountService(database, account_repository, PasswordHasher(), cipher),
|
||||
memberships=MembershipService(database, account_repository),
|
||||
system_credentials=SystemCredentialService(database, credential_repository, cipher),
|
||||
model_pool=ModelPoolService(database, model_pool_repository, cipher),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user