from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from typing import List from app.db.session import get_db from app.schemas.person import Person, PersonCreate from app.crud import person router = APIRouter() @router.get("/", response_model=List[Person]) def get_all_people(db: Session = Depends(get_db)): """ Get all people """ return person.get_all(db) @router.post("/", response_model=Person, status_code=201) def create_person( *, db: Session = Depends(get_db), person_in: PersonCreate ): """ Create a new person """ try: return person.create(db=db, obj_in=person_in) except Exception as e: raise HTTPException( status_code=500, detail="Failed to create the person." )