from sqlalchemy.orm import Session from app.models import Item from app.schemas import 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 = 100): return db.query(Item).offset(skip).limit(limit).all() def create_item(db: Session, item: ItemCreate): db_item = Item(**item.dict()) 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 = db.query(Item).filter(Item.id == item_id).first() if db_item: update_data = item.dict(exclude_unset=True) for key, value in update_data.items(): setattr(db_item, key, value) db.commit() db.refresh(db_item) return db_item def delete_item(db: Session, item_id: int): db_item = db.query(Item).filter(Item.id == item_id).first() if db_item: db.delete(db_item) db.commit() return db_item