You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.1 KiB
76 lines
2.1 KiB
from fastapi import Depends
|
|
from fastapi import Header
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
from app.db.session import get_db_session
|
|
from app.models.entities import User
|
|
from app.services.export_service import ExportService
|
|
from app.services.auth_service import AuthService
|
|
from app.services.backend_service import BackendService
|
|
from app.services.directory_service import DirectoryService
|
|
from app.services.file_service import FileService
|
|
from app.services.job_service import JobService
|
|
from app.services.policy_service import PolicyService
|
|
from app.services.repair_service import RepairService
|
|
from app.services.upload_service import UploadService
|
|
|
|
|
|
async def get_directory_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> DirectoryService:
|
|
return DirectoryService(session)
|
|
|
|
|
|
async def get_file_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> FileService:
|
|
return FileService(session)
|
|
|
|
|
|
async def get_upload_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> UploadService:
|
|
return UploadService(session)
|
|
|
|
|
|
async def get_backend_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> BackendService:
|
|
return BackendService(session)
|
|
|
|
|
|
async def get_job_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> JobService:
|
|
return JobService(session)
|
|
|
|
|
|
async def get_export_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> ExportService:
|
|
return ExportService(session)
|
|
|
|
|
|
async def get_repair_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> RepairService:
|
|
return RepairService(session)
|
|
|
|
|
|
async def get_auth_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> AuthService:
|
|
return AuthService(session)
|
|
|
|
|
|
async def get_policy_service(
|
|
session: AsyncSession = Depends(get_db_session),
|
|
) -> PolicyService:
|
|
return PolicyService(session)
|
|
|
|
|
|
async def require_current_user(
|
|
authorization: str | None = Header(default=None, alias="Authorization"),
|
|
service: AuthService = Depends(get_auth_service),
|
|
) -> User:
|
|
return await service.get_current_user(authorization)
|
|
|