import random from sqlalchemy.orm import Session from app.db.models import Item def get_items(db: Session): return db.query(Item).all() def create_item(db: Session, title: str, prize: str, description: str = "", prize_type: str = "پوچ", probability: float = 1.0): item = Item( title=title, prize=prize, description=description, prize_type=prize_type, probability=probability ) db.add(item) db.commit() db.refresh(item) return item def update_item(db: Session, item_id: int, title: str, prize: str, description: str = "", prize_type: str = "پوچ", probability: float = 1.0): item = db.query(Item).filter(Item.id == item_id).first() if item: item.title = title item.prize = prize item.description = description item.prize_type = prize_type item.probability = probability db.commit() db.refresh(item) return item def delete_item(db: Session, item_id: int): item = db.query(Item).filter(Item.id == item_id).first() if item: db.delete(item) db.commit() return item def spin_wheel(db: Session): items = db.query(Item).all() if not items: return None weights = [item.probability for item in items] return random.choices(items, weights=weights, k=1)[0]