23 lines
1.1 KiB
Python
23 lines
1.1 KiB
Python
from fastapi import APIRouter, Depends, HTTPException
|
|
from services.person_report_service import PersonReportService
|
|
from models.schemas import PersonReportCreate, PersonReportUpdate, PersonReportResponse
|
|
from config.database import get_db
|
|
from typing import Optional
|
|
|
|
router = APIRouter()
|
|
|
|
@router.post("/", response_model=PersonReportResponse, status_code=201)
|
|
async def create_report(report: PersonReportCreate, db=Depends(get_db)):
|
|
return await PersonReportService.create_report(report, db)
|
|
|
|
@router.put("/{report_id}", response_model=PersonReportResponse)
|
|
async def update_report(report_id: int, report: PersonReportUpdate, db=Depends(get_db)):
|
|
return await PersonReportService.update_report(report_id, report, db)
|
|
|
|
@router.get("/{report_id}", response_model=PersonReportResponse)
|
|
async def get_report(report_id: int, db=Depends(get_db)):
|
|
return await PersonReportService.get_report(report_id, db)
|
|
|
|
@router.get("/", response_model=list[PersonReportResponse])
|
|
async def list_reports(status: Optional[str] = None, db=Depends(get_db)):
|
|
return await PersonReportService.list_reports(status, db) |