Files
amap/backend/src/templates/templates.py

38 lines
1.5 KiB
Python

from fastapi import APIRouter, HTTPException, Depends
import src.messages as messages
import src.models as models
from src.database import get_session
from sqlmodel import Session
import src.templates.service as service
router = APIRouter(prefix='/templates')
@router.get('/', response_model=list[models.TemplatePublic])
def get_templates(session: Session = Depends(get_session)):
return service.get_all(session)
@router.get('/{id}', response_model=models.TemplatePublic)
def get_template(id: int, session: Session = Depends(get_session)):
result = service.get_one(session, id)
if result is None:
raise HTTPException(status_code=404, detail=messages.notfound)
return result
@router.post('/', response_model=models.TemplatePublic)
def create_template(template: models.TemplateCreate, session: Session = Depends(get_session)):
return service.create_one(session, template)
@router.put('/{id}', response_model=models.TemplatePublic)
def update_template(id: int, template: models.TemplateUpdate, session: Session = Depends(get_session)):
result = service.update_one(session, id, template)
if result is None:
raise HTTPException(status_code=404, detail=messages.notfound)
return result
@router.delete('/{id}', response_model=models.TemplatePublic)
def delete_template(id: int, session: Session = Depends(get_session)):
result = service.delete_one(session, id)
if result is None:
raise HTTPException(status_code=404, detail=messages.notfound)
return result