mirror of
https://gitlab.aachen.ccc.de/inventory/in.git
synced 2024-11-25 16:53:59 +01:00
21 lines
605 B
Python
21 lines
605 B
Python
|
from sqlalchemy.orm import Session
|
||
|
from sqlalchemy import DECIMAL, cast
|
||
|
|
||
|
import models, schemas
|
||
|
|
||
|
def get_items(db: Session) -> list[models.Item]:
|
||
|
return db.query(models.Item).order_by(models.Item.type, cast(models.Item.id, DECIMAL))
|
||
|
|
||
|
|
||
|
def put_item(db: Session, id: str, item: schemas.Item):
|
||
|
updated = bool(db.query(models.Item).filter(models.Item.id == id).update(item.dict()))
|
||
|
if not updated:
|
||
|
db.add(models.Item(**item.dict()))
|
||
|
db.commit()
|
||
|
return updated
|
||
|
|
||
|
|
||
|
def delete_item(db: Session, id: str):
|
||
|
db.query(models.Item).filter(models.Item.id == id).delete()
|
||
|
db.commit()
|