diff --git a/endpoints/signup_email.post.py b/endpoints/signup_email.post.py index e69de29..21fbf7f 100644 --- a/endpoints/signup_email.post.py +++ b/endpoints/signup_email.post.py @@ -0,0 +1,25 @@ +# Entity: User + +from fastapi import APIRouter, Depends, HTTPException, status +from sqlalchemy.orm import Session +from core.database import get_db +from models.user import User +from schemas.user import UserCreate, UserResponse +from helpers.user_helpers import create_user, get_user_by_email + +router = APIRouter() + +@router.post("/signup_email", status_code=201, response_model=UserResponse) +async def signup_email( + user_data: UserCreate, + db: Session = Depends(get_db) +): + existing_user = get_user_by_email(db, user_data.email) + if existing_user: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="Email already registered" + ) + + new_user = create_user(db, user_data) + return new_user \ No newline at end of file