32 lines
965 B
Python
32 lines
965 B
Python
from fastapi import APIRouter, Depends, HTTPException
|
|
from services.shelter_service import ShelterService
|
|
from models.schemas import Shelter
|
|
from config.database import get_db
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.post("/", status_code=201)
|
|
async def create_shelter(shelter: Shelter, db=Depends(get_db)):
|
|
return await ShelterService.create_shelter(shelter, db)
|
|
|
|
|
|
@router.get("/{shelter_id}")
|
|
async def get_shelter(shelter_id: int, db=Depends(get_db)):
|
|
return await ShelterService.get_shelter(shelter_id, db)
|
|
|
|
|
|
@router.get("/")
|
|
async def get_all_shelters(db=Depends(get_db)):
|
|
return await ShelterService.get_all_shelters(db)
|
|
|
|
|
|
@router.put("/{shelter_id}")
|
|
async def update_shelter(shelter_id: int, data: dict, db=Depends(get_db)):
|
|
return await ShelterService.update_shelter(shelter_id, data, db)
|
|
|
|
|
|
@router.delete("/{shelter_id}")
|
|
async def delete_shelter(shelter_id: int, db=Depends(get_db)):
|
|
return await ShelterService.delete_shelter(shelter_id, db)
|