from sqlalchemy.orm import Session
from app.models.inventory import InventoryItem

def get_inventory_item(db: Session, item_id: int):
    return db.query(InventoryItem).filter(InventoryItem.id == item_id).first()

def get_inventory_items(db: Session, skip: int = 0, limit: int = 100):
    return db.query(InventoryItem).offset(skip).limit(limit).all()

def create_inventory_item(db: Session, *, item_data: dict):
    item = InventoryItem(**item_data)
    db.add(item)
    db.commit()
    db.refresh(item)
    return item

def update_inventory_item(db: Session, item: InventoryItem, updates: dict):
    for k, v in updates.items():
        setattr(item, k, v)
    db.add(item)
    db.commit()
    db.refresh(item)
    return item

def delete_inventory_item(db: Session, item: InventoryItem):
    db.delete(item)
    db.commit()
    return True
