diff --git a/backend/routers/auth.py b/backend/routers/auth.py index 2291968..36a6708 100644 --- a/backend/routers/auth.py +++ b/backend/routers/auth.py @@ -3,11 +3,29 @@ from sqlalchemy.orm import Session from auth import create_access_token, get_current_user, hash_password, verify_password from database import get_db -from models import User +from models import User, Variety from schemas import Token, UserCreate, UserLogin, UserOut router = APIRouter(prefix="/auth", tags=["auth"]) +STARTER_VARIETIES = [ + dict(name="Tomato", variety_name="Cherry", category="vegetable", + weeks_to_start=8, weeks_to_greenhouse=2, weeks_to_garden=2, + days_to_germinate=7, frost_tolerant=False, sun_requirement="full_sun", + water_needs="medium", color="#e76f51", + notes="Great in containers. Very prolific producer."), + dict(name="Basil", variety_name="Sweet", category="herb", + weeks_to_start=6, weeks_to_greenhouse=1, weeks_to_garden=2, + days_to_germinate=7, frost_tolerant=False, sun_requirement="full_sun", + water_needs="medium", color="#40916c", + notes="Very frost sensitive. Transplant after all danger of frost."), + dict(name="Marigold", variety_name="French", category="flower", + weeks_to_start=6, weeks_to_greenhouse=1, weeks_to_garden=0, + days_to_germinate=5, frost_tolerant=False, sun_requirement="full_sun", + water_needs="low", color="#f4a261", + notes="Great companion plant for tomatoes. Deters pests."), +] + @router.post("/register", response_model=UserOut, status_code=201) def register(data: UserCreate, db: Session = Depends(get_db)): @@ -15,6 +33,9 @@ def register(data: UserCreate, db: Session = Depends(get_db)): raise HTTPException(status_code=400, detail="Email already registered") user = User(email=data.email, hashed_password=hash_password(data.password)) db.add(user) + db.flush() # get user.id before commit + for v in STARTER_VARIETIES: + db.add(Variety(**v, user_id=user.id)) db.commit() db.refresh(user) return user