39 lines
777 B
Python
39 lines
777 B
Python
from typing import Any
|
|
|
|
from fastapi import APIRouter
|
|
from pydantic import BaseModel
|
|
|
|
from app.api.deps import SessionDep
|
|
from app.core.security import get_password_hash
|
|
from app.models import (
|
|
User,
|
|
UserPublic,
|
|
)
|
|
|
|
router = APIRouter(tags=["private"], prefix="/private")
|
|
|
|
|
|
class PrivateUserCreate(BaseModel):
|
|
email: str
|
|
password: str
|
|
full_name: str
|
|
is_verified: bool = False
|
|
|
|
|
|
@router.post("/users/", response_model=UserPublic)
|
|
def create_user(user_in: PrivateUserCreate, session: SessionDep) -> Any:
|
|
"""
|
|
Create a new user.
|
|
"""
|
|
|
|
user = User(
|
|
email=user_in.email,
|
|
full_name=user_in.full_name,
|
|
hashed_password=get_password_hash(user_in.password),
|
|
)
|
|
|
|
session.add(user)
|
|
session.commit()
|
|
|
|
return user
|