from fastapi import APIRouter, Depends from sqlalchemy.orm import Session import uuid from database import get_db import models FIXED_USER_ID = uuid.UUID("00000000-0000-0000-0000-000000000001") # Fixed UUID for demo user router = APIRouter(tags=["dev"]) @router.get("/dev/seed") def seed_data(db: Session = Depends(get_db)): user_id = FIXED_USER_ID # Create demo user if not exists user = db.query(models.User).filter(models.User.id == user_id).first() if not user: user = models.User(id=user_id, name="Demo User") db.add(user) db.flush() # Tags tags = ["jari", "kristin", "felix", "auto", "sommer"] tag_objs = [] for t in tags: tag_obj = models.Tag(id=uuid.uuid4(), user_id=user_id, name=t) db.add(tag_obj) tag_objs.append(tag_obj) db.flush() # Items items_data = [ ("Badesachen", ["sommer", "auto"]), ("Sonnencreme", ["sommer"]), ("Ladegerät", []), ("Zelt", ["auto"]), ("Schlafsack", []), ("Strandspielzeug", ["sommer", "jari"]), ] for name, tag_names in items_data: item = models.Item(id=uuid.uuid4(), user_id=user_id, name=name) db.add(item) db.flush() for tag_name in tag_names: tag_id = next(t.id for t in tag_objs if t.name == tag_name) db.add(models.ItemTag(item_id=item.id, tag_id=tag_id)) selected_tags = [t for t in tag_objs if t.name in ["jari", "kristin", "auto", "sommer"]] marked_tags = [t for t in tag_objs if t.name in ["kristin", "felix"]] trip = models.Trip( id=uuid.uuid4(), user_id=user_id, name="Ostsee August 2025", start_date="2025-08-01", end_date="2025-08-14", selected_tags=selected_tags, marked_tags=marked_tags, ) db.add(trip) db.commit() return {"message": "Seed data created", "user_id": str(user_id)}