23 lines
669 B
Python
23 lines
669 B
Python
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
from .. import models, schemas, database
|
|
from ..security import require_roles
|
|
|
|
|
|
owners = APIRouter(prefix="/owners", tags=["owners"])
|
|
|
|
|
|
@owners.post("/", response_model=schemas.OwnerRead, dependencies=[Depends(require_roles(["admin", "editor"]))])
|
|
def create_owner(item: schemas.OwnerCreate, db: Session = Depends(database.get_db)):
|
|
obj = models.Owner(**item.dict())
|
|
db.add(obj)
|
|
db.commit()
|
|
db.refresh(obj)
|
|
return obj
|
|
|
|
|
|
@owners.get("/", response_model=list[schemas.OwnerRead])
|
|
def list_owners(db: Session = Depends(database.get_db)):
|
|
return db.query(models.Owner).all()
|
|
|