Add materials, exam images, storage quota, and API guide
Upload documents for AI context, exam images for Moodle questions, per-template storage limits, embedded images in XML export, and GUIA_API_Y_FLUJO.md with full endpoint documentation.
This commit is contained in:
@@ -6,11 +6,41 @@ from sqlalchemy.orm import Session
|
||||
from app.core.config import Settings, get_settings
|
||||
from app.db.session import get_db
|
||||
from app.services.exam_service import ExamService
|
||||
from app.services.image_service import ImageService
|
||||
from app.services.llm import LLMClient
|
||||
from app.services.material_service import MaterialService
|
||||
from app.services.storage_quota import StorageQuotaService
|
||||
|
||||
|
||||
def get_exam_service(db: Annotated[Session, Depends(get_db)]) -> ExamService:
|
||||
return ExamService(db)
|
||||
def get_storage_quota_service(
|
||||
db: Annotated[Session, Depends(get_db)],
|
||||
settings: Annotated[Settings, Depends(get_settings)],
|
||||
) -> StorageQuotaService:
|
||||
return StorageQuotaService(db, settings)
|
||||
|
||||
|
||||
def get_material_service(
|
||||
db: Annotated[Session, Depends(get_db)],
|
||||
settings: Annotated[Settings, Depends(get_settings)],
|
||||
storage_quota: Annotated[StorageQuotaService, Depends(get_storage_quota_service)],
|
||||
) -> MaterialService:
|
||||
return MaterialService(db, settings, storage_quota)
|
||||
|
||||
|
||||
def get_image_service(
|
||||
db: Annotated[Session, Depends(get_db)],
|
||||
settings: Annotated[Settings, Depends(get_settings)],
|
||||
storage_quota: Annotated[StorageQuotaService, Depends(get_storage_quota_service)],
|
||||
) -> ImageService:
|
||||
return ImageService(db, settings, storage_quota)
|
||||
|
||||
|
||||
def get_exam_service(
|
||||
db: Annotated[Session, Depends(get_db)],
|
||||
material_service: Annotated[MaterialService, Depends(get_material_service)],
|
||||
image_service: Annotated[ImageService, Depends(get_image_service)],
|
||||
) -> ExamService:
|
||||
return ExamService(db, material_service=material_service, image_service=image_service)
|
||||
|
||||
|
||||
def get_llm_client(settings: Annotated[Settings, Depends(get_settings)]) -> LLMClient:
|
||||
|
||||
Reference in New Issue
Block a user