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

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)