from database import engine
from models import Base, FoodCategory, Food
from sqlalchemy.orm import Session

def seed():
    session = Session(bind=engine)
    categories = [
        ("Carne rossa", [
            ("Manzo magro", 143, 5.0, 21.0, 0.0),
            ("Vitello", 150, 7.0, 21.0, 0.0),
            ("Agnello", 206, 15.0, 17.0, 0.0),
            ("Maiale magro", 143, 4.0, 21.0, 0.0),
        ]),
        ("Carne bianca", [
            ("Pollo petto", 110, 1.5, 23.0, 0.0),
            ("Tacchino", 104, 1.0, 24.0, 0.0),
            ("Coniglio", 133, 5.0, 21.0, 0.0),
        ]),
        ("Pesce", [
            ("Salmone", 208, 13.0, 20.0, 0.0),
            ("Tonno", 132, 1.0, 28.0, 0.0),
            ("Merluzzo", 82, 0.7, 18.0, 0.0),
            ("Orata", 96, 2.7, 17.0, 0.0),
            ("Branzino", 97, 2.0, 18.0, 0.0),
            ("Sgombro", 205, 13.9, 19.0, 0.0),
        ]),
        ("Verdura", [
            ("Spinaci", 23, 0.4, 2.9, 1.1),
            ("Broccoli", 34, 0.4, 2.8, 7.0),
            ("Zucchine", 17, 0.3, 1.2, 3.1),
            ("Carote", 41, 0.2, 0.9, 10.0),
            ("Peperoni", 31, 0.3, 1.0, 6.0),
            ("Melanzane", 25, 0.2, 1.0, 6.0),
            ("Pomodori", 18, 0.2, 0.9, 3.9),
            ("Asparagi", 20, 0.1, 2.2, 3.7),
            ("Cavolfiore", 25, 0.3, 1.9, 5.0),
        ]),
        ("Frutta", [
            ("Mela", 52, 0.2, 0.3, 14.0),
            ("Banana", 89, 0.3, 1.1, 23.0),
            ("Arancia", 47, 0.1, 0.9, 12.0),
            ("Pera", 57, 0.1, 0.4, 15.0),
            ("Fragole", 32, 0.3, 0.7, 7.7),
            ("Kiwi", 61, 0.5, 1.1, 15.0),
            ("Uva", 69, 0.2, 0.7, 18.0),
            ("Pesca", 39, 0.3, 0.9, 10.0),
            ("Albicocca", 48, 0.4, 1.4, 11.0),
        ]),
        ("Legumi", [
            ("Fagioli", 127, 0.5, 8.7, 22.8),
            ("Lenticchie", 116, 0.4, 9.0, 20.0),
            ("Ceci", 164, 2.6, 8.9, 27.4),
            ("Piselli", 81, 0.4, 5.4, 14.5),
            ("Soia", 446, 20.0, 36.0, 30.0),
        ]),
        ("Cereali", [
            ("Pane integrale", 247, 3.4, 8.8, 41.0),
            ("Pasta", 371, 1.5, 13.0, 75.0),
            ("Riso", 130, 0.3, 2.7, 28.0),
            ("Avena", 389, 6.9, 16.9, 66.3),
        ]),
        ("Latticini", [
            ("Latte vaccino", 42, 1.0, 3.4, 5.0),
            ("Yogurt bianco", 61, 0.4, 3.5, 7.0),
            ("Formaggio grana", 398, 29.0, 33.0, 0.0),
            ("Ricotta vaccina", 174, 13.0, 11.0, 3.0),
        ]),
        ("Uova", [
            ("Uovo intero", 143, 9.9, 13.0, 1.1),
            ("Albume", 52, 0.2, 11.0, 0.7),
            ("Tuorlo", 322, 26.5, 15.9, 3.6),
        ]),
        ("Oli e grassi", [
            ("Olio extravergine d'oliva", 884, 100.0, 0.0, 0.0),
            ("Burro", 717, 81.0, 0.9, 0.1),
        ]),
    ]
    for cat_name, foods in categories:
        cat = FoodCategory(name=cat_name)
        session.add(cat)
        session.flush()  # per ottenere cat.id
        for food in foods:
            session.add(Food(name=food[0], category_id=cat.id, calories=food[1], fats=food[2], proteins=food[3], carbs=food[4]))
    session.commit()
    session.close()

if __name__ == "__main__":
    seed()
