MirrorAPI/packages/v1/administrativo/endpoints/auth_endpoint.py

30 lines
984 B
Python

# Importação de bibliotecas
from typing import Optional
from fastapi import APIRouter, Body, Depends, status
from actions.jwt.get_current_user import get_current_user
from packages.v1.administrativo.controllers.usuario_controller import UsuarioController
from packages.v1.administrativo.schemas.usuario_schema import (
UsuarioAuthenticateSchema,
)
# Inicializa o roteador para as rotas de usuário
router = APIRouter()
# Instânciamento do controller desejado
user_controller = UsuarioController()
# Autenticação de usuário
@router.post(
"",
status_code=status.HTTP_200_OK,
summary="Autentica e cria o token de acesso do usuário",
response_description="Retorna o token de acesso do usuário",
)
async def index(user_authenticate_schema: UsuarioAuthenticateSchema):
# Efetua a autenticação de um usuário junto ao sistema
response = user_controller.authenticate(user_authenticate_schema)
# Retorna os dados localizados
return response