mirror of
https://github.com/langgenius/dify.git
synced 2026-10-04 13:47:55 +08:00
31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
"""Composition of Trial App use cases."""
|
|
|
|
from dataclasses import dataclass
|
|
|
|
from sqlalchemy.orm import Session, sessionmaker
|
|
|
|
from repositories.trial_app_repository import TrialAppRepository
|
|
from services.trial_app_access_service import TrialAppAccessService
|
|
from services.trial_app_generation_adapters import AppGenerateServiceRuntime
|
|
from services.trial_app_generation_service import TrialAppGenerationService
|
|
from services.trial_app_usage import TrialAppUsageRecorder
|
|
|
|
|
|
@dataclass(frozen=True, slots=True)
|
|
class TrialAppServices:
|
|
access: TrialAppAccessService
|
|
generation: TrialAppGenerationService
|
|
usage: TrialAppUsageRecorder
|
|
|
|
|
|
def build_trial_app_services(
|
|
*, database_client: sessionmaker[Session], trial_apps: TrialAppRepository
|
|
) -> TrialAppServices:
|
|
return TrialAppServices(
|
|
access=TrialAppAccessService(apps=trial_apps),
|
|
generation=TrialAppGenerationService(
|
|
runtime=AppGenerateServiceRuntime(session_factory=database_client), usage=trial_apps
|
|
),
|
|
usage=trial_apps,
|
|
)
|