from fastapi import APIRouter from typing import Annotated from fastapi import Depends from app.models.dto.text_request import TextRequest from app.models.response.moderation_response import ModerationResponse from app.services.text_moderation_service import TextModerationService from app.core.dependencies import ( get_text_moderation_service ) router = APIRouter( prefix="/api/v1/moderation", tags=["Moderation"] ) @router.post( "/text", response_model=ModerationResponse ) def moderate_text( request: TextRequest, service: Annotated[ TextModerationService, Depends(get_text_moderation_service) ] ): prediction = service.moderate(request.text) return ModerationResponse( approved=prediction.approved, score=prediction.score, reason=prediction.reason )