crud.py•950 B
from sqlalchemy.orm import Session
from backend.server.models import Item, ItemCreate, ItemUpdate
def get_item(db: Session, item_id: int):
return db.query(Item).filter(Item.id == item_id).first()
def get_items(db: Session, skip: int = 0, limit: int = 10):
return db.query(Item).offset(skip).limit(limit).all()
def create_item(db: Session, item: ItemCreate):
db_item = Item(**item.model_dump())
db.add(db_item)
db.commit()
db.refresh(db_item)
return db_item
def update_item(db: Session, item_id: int, item: ItemUpdate):
db_item = get_item(db, item_id)
if db_item:
for field, value in item.model_dump(exclude_unset=True).items():
setattr(db_item, field, value)
db.commit()
db.refresh(db_item)
return db_item
def delete_item(db: Session, item_id: int):
db_item = get_item(db, item_id)
if db_item:
db.delete(db_item)
db.commit()
return db_item