feat: Updated endpoint endpoints/signup.post.py via AI with auto lint fixes

This commit is contained in:
Backend IM Bot 2025-04-18 14:43:11 +00:00
parent 7e18e45da7
commit 3fac25eeb9

View File

@ -1,50 +1,12 @@
from fastapi import APIRouter, HTTPException, Depends from fastapi import APIRouter, status, Depends
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from pydantic import BaseModel from schemas.user import UserCreate
from core.database import get_db from helpers.user_helpers import create_user, get_db
from core.auth import get_password_hash, create_access_token
import uuid
from models.user import User
router = APIRouter() router = APIRouter()
class UserCreate(BaseModel): @router.post("/signup", status_code=status.HTTP_201_CREATED, response_model=UserCreate)
username: str async def signup(user: UserCreate, db: Session = Depends(get_db)):
email: str """Create a new user"""
password: str new_user = create_user(db=db, user=user)
return new_user
@router.post("/signup")
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,
email=user_data.email,
hashed_password=get_password_hash(user_data.password)
)
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"
}