From e673cea640d59a6d4f9b10b00625335f4513a629 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Fri, 28 Mar 2025 18:46:22 +0000 Subject: [PATCH] Update code in endpoints/signup.post.py --- endpoints/signup.post.py | 46 ++++++++-------------------------------- 1 file changed, 9 insertions(+), 37 deletions(-) diff --git a/endpoints/signup.post.py b/endpoints/signup.post.py index 77e4d09..ceb5866 100644 --- a/endpoints/signup.post.py +++ b/endpoints/signup.post.py @@ -1,50 +1,22 @@ -from fastapi import APIRouter, HTTPException, Depends +from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.orm import Session -from pydantic import BaseModel from core.database import get_db -from core.auth import get_password_hash, create_access_token -import uuid from models.user import User +from schemas.user import UserCreate, UserResponse +from helpers.user_helpers import create_user router = APIRouter() -class UserCreate(BaseModel): - username: str - email: str - password: str - -@router.post("/signup") +@router.post("/signup", status_code=status.HTTP_201_CREATED, response_model=UserResponse) async def signup( user_data: UserCreate, db: Session = Depends(get_db) ): - """User registration endpoint""" - # Check existing user - db_user = db.query(User).filter( - (User.username == user_data.username) | - (User.email == user_data.email) - ).first() - - if db_user: - raise HTTPException( - status_code=400, - detail="Username or email already exists" - ) - - # Create new user - new_user = User( - id=str(uuid.uuid4()), - username=user_data.username, + new_user = await create_user( + db=db, email=user_data.email, - hashed_password=get_password_hash(user_data.password) + password=user_data.password, + full_name=user_data.full_name ) - db.add(new_user) - db.commit() - - # Return token directly after registration - return { - "message": "User created successfully", - "access_token": create_access_token({"sub": new_user.id}), - "token_type": "bearer" - } + return new_user \ No newline at end of file