import db
import random

NAMES = [
    "Debug Mario", "Debug Luigi", "Debug Anna", "Debug Sofia", "Debug Alessandro",
    "Debug Giulia", "Debug Marco", "Debug Chiara", "Debug Matteo", "Debug Elena"
]
NOTES = ["", "", "", "Senza sale", "Ben cotto", "Senza glutine", "Extra salsa", "Da asporto"]

def run():
    menu = db.get_menu()
    if not menu:
        raise ValueError("Il menu è vuoto.")
    
    for i in range(10):
        name = random.choice(NAMES)
        num_items = random.randint(1, 4)
        
        # Scegli in modo sicuro senza andare out-of-bounds se il menu è piccolo
        if len(menu) < num_items:
            selected_items = menu
        else:
            selected_items = random.sample(menu, num_items)
        
        items_payload = []
        for item in selected_items:
            items_payload.append({
                'menu_item_id': item['id'],
                'quantity': random.randint(1, 3),
                'notes': random.choice(NOTES)
            })
            
        order = db.create_order(name, "", "", items_payload, wa_contact_saved=0, is_cashier=True)
        db.validate_order(order['id']) # Convalida l'ordine tenendo i piatti in HOLD

if __name__ == "__main__":
    run()
