29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
from fastapi import APIRouter, Depends, HTTPException
|
|
from typing import Optional
|
|
from sqlalchemy.orm import Session
|
|
from .. import models, schemas, database
|
|
|
|
oboruds = APIRouter(prefix="/oboruds", tags=["oboruds"])
|
|
|
|
@oboruds.post("/", response_model=schemas.OborudRead)
|
|
def create_oborud(item: schemas.OborudCreate, db: Session = Depends(database.get_db)):
|
|
obj = models.Oboruds(**item.dict())
|
|
db.add(obj)
|
|
db.commit()
|
|
db.refresh(obj)
|
|
return obj
|
|
|
|
@oboruds.get("/", response_model=list[schemas.OborudRead])
|
|
def list_oboruds(aud_id: Optional[int] = None, db: Session = Depends(database.get_db)):
|
|
query = db.query(models.Oboruds)
|
|
if aud_id is not None:
|
|
query = query.filter(models.Oboruds.aud_id == aud_id)
|
|
return query.all()
|
|
|
|
@oboruds.get("/{oborud_id}", response_model=schemas.OborudRead)
|
|
def get_oborud(oborud_id: int, db: Session = Depends(database.get_db)):
|
|
obj = db.query(models.Oboruds).filter(models.Oboruds.id == oborud_id).first()
|
|
if not obj:
|
|
raise HTTPException(status_code=404, detail="Oborud not found")
|
|
return obj
|