Law/app/api/public/requests.py
2026-02-22 10:57:49 +03:00

16 lines
822 B
Python

from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from uuid import uuid4
from app.db.session import get_db
from app.schemas.public import PublicRequestCreate, PublicRequestCreated
from app.models.request import Request
router = APIRouter()
@router.post("", response_model=PublicRequestCreated, status_code=201)
def create_request(payload: PublicRequestCreate, db: Session = Depends(get_db)):
track = f"TRK-{uuid4().hex[:10].upper()}"
r = Request(track_number=track, client_name=payload.client_name, client_phone=payload.client_phone,
topic_code=payload.topic_code, description=payload.description, extra_fields=payload.extra_fields)
db.add(r); db.commit(); db.refresh(r)
return PublicRequestCreated(request_id=r.id, track_number=r.track_number, otp_required=True)