saas_api/packages/v1/selos/controllers/see_controller.py

42 lines
1.3 KiB
Python

from fastapi import Request
from actions.dynamic_import.dynamic_import import DynamicImport
from packages.v1.selos.schemas.see_schema import CartorioAuthenticateSchema
class SeeController:
def __init__(self):
# Action responsável por carregar as services de acodo com o estado
self.dynamic_import = DynamicImport()
# Define o pacote que deve ser carregado
self.dynamic_import.set_package("selos")
# Define a tabela que o pacote pertence
self.dynamic_import.set_table("see")
pass
# Efetua o acesso junto ao sistema por um determinado usuário
async def authenticate(
self,
request: Request,
cartorio_authenticate_schema: CartorioAuthenticateSchema,
):
# Importação de service de Authenticate
authenticate_service = self.dynamic_import.service(
"sessions_service", "SessionsService"
)
# Instânciamento da service
self.authenticate_service = authenticate_service()
# Retorna o usuário logado
return {
"message": "Usuário localizado com sucesso",
"data": {
"token": await self.authenticate_service.execute(
request, cartorio_authenticate_schema
)
},
}