2026-04-04 22:08:49 +05:00

41 lines
1.4 KiB
Python

from fastapi import APIRouter, Depends
from pydantic import BaseModel
from app.auth import get_current_user
from app.agents.document_agent import document_agent
from app.services.egov_mock import egov_mock
from app.agents.refusal_agent import refusal_agent
router = APIRouter(prefix="/api/forms", tags=["forms"])
class GenerateFormReq(BaseModel):
service_type: str
session_id: str
@router.post("/generate")
async def generate_form(req: GenerateFormReq, user: dict = Depends(get_current_user)):
# Feature 2
# Mocking vault
vault = [{"doc_type": "passport", "file_name": "pass.pdf"}]
form_data = document_agent.generate_form(req.service_type, user, vault)
return {"success": True, "data": form_data}
class AutoFillReq(BaseModel):
service_type: str
@router.post("/autofill")
async def autofill_form(req: AutoFillReq, user: dict = Depends(get_current_user)):
# Feature 5
profile = egov_mock.get_citizen_by_iin(user.get("iin", ""))
if not profile:
profile = user
return {"success": True, "data": {"pre_filled": profile, "sources": {"iin": "ГБД ФЛ"}}}
class RefusalReq(BaseModel):
text: str
@router.post("/refusal/analyze")
async def analyze_refusal(req: RefusalReq, user: dict = Depends(get_current_user)):
# Feature 6
analysis = refusal_agent.analyze_refusal(req.text, user.get("language", "ru"))
return {"success": True, "data": analysis}