add dev_seed
This commit is contained in:
parent
2d11a362ea
commit
cb213afdf4
2 changed files with 65 additions and 1 deletions
|
|
@ -22,3 +22,4 @@ app.include_router(tags.router)
|
|||
app.include_router(items.router)
|
||||
app.include_router(trips.router)
|
||||
app.include_router(trip_items.router)
|
||||
app.include_router(dev_seed.router)
|
||||
63
backend/routes/dev_seed.py
Normal file
63
backend/routes/dev_seed.py
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
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)}
|
||||
Loading…
Reference in a new issue