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()