from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session from app.api.v1.models.users import User from app.api.v1.schemas.users import UserCreate, UserUpdate router = APIRouter() @router.post("/code-gen", response_model=dict) async def generate_code( payload: UserCreate, db: Session = Depends(get_db) ): if request.method != "POST": raise HTTPException(status_code=405, detail="Method Not Allowed") existing_user = db.query(User).filter(User.email == payload.email).first() if existing_user: raise HTTPException(status_code=400, detail="Email already registered") new_user = User(**payload.dict()) db.add(new_user) db.commit() db.refresh(new_user) return { "method": "POST", "_verb": "post", "message": "User created successfully", "user_id": new_user.id, "username": new_user.username, "next_steps": [ "Verify your email", "Complete profile setup" ] }