from fastapi import APIRouter, HTTPException, status
from schemas.user_schema import UserAuth
from services.user_service import UserService
import pymongo
user_router = APIRouter()
@user_router.post('/adiciona', summary='Adiciona Usuário')
async def adiciona_usuario(data:UserAuth):
try:
return await UserService.create_user(data)
except pymongo.errors.DuplicateKeyError:
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail='Username ou e-mail deste usuário já existe'
)
3 - Agora precisamos adicionar essa funcionalidade na rota de usuários no arquivo user.py
from models.user_model import User
from schemas.user_schema import UserAuth
from core.security import get_password
class UserService:
@staticmethod
async def create_user(user: UserAuth):
usuario = User(
username = user.username,
email = user.email,
hash_password = get_password(user.password)
)
await usuario.save()
return usuario