# 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 UserSchema, UserCreate from helpers.user_helpers import get_user_by_email, create_user router = APIRouter() @router.post("/api/users", status_code=201, response_model=UserSchema) async def register_user( user_data: UserCreate, db: Session = Depends(get_db) ): # Check if user already exists existing_user = get_user_by_email(db, user_data.email) if existing_user: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, detail="User with this email already exists" ) # Create new user new_user = create_user(db, user_data) return new_user