60 lines
No EOL
1.9 KiB
Python
60 lines
No EOL
1.9 KiB
Python
from actions.dynamic_import.dynamic_import import DynamicImport
|
|
from packages.v1.administrativo.schemas.g_usuario_schema import (
|
|
GUsuarioSchema,
|
|
GUsuarioLoginSchema
|
|
)
|
|
|
|
class GUsuarioController:
|
|
|
|
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("administrativo")
|
|
# Define a tabela que o pacote pertence
|
|
self.dynamic_import.set_table("g_usuario")
|
|
pass
|
|
|
|
def login(self, g_usuario_login_schema : GUsuarioLoginSchema):
|
|
|
|
# Importação de service de login
|
|
login_service = self.dynamic_import.service("login_service", "LoginService")
|
|
|
|
# Instânciamento da service
|
|
self.login_service = login_service()
|
|
|
|
# Retorna o usuário logado
|
|
return {
|
|
'message' : 'Usuário localizado com sucesso',
|
|
'data' : {
|
|
'token' : self.login_service.execute(g_usuario_login_schema)
|
|
}
|
|
}
|
|
|
|
def me(self, current_user):
|
|
|
|
# Importação de service de login
|
|
me_service = self.dynamic_import.service("me_service", "MeService")
|
|
|
|
# Instânciamento da service
|
|
self.me_service = me_service()
|
|
|
|
# Retorna o usuário logado
|
|
return {
|
|
'message' : 'Usuário localizado com sucesso',
|
|
'data' : self.me_service.execute(current_user)
|
|
}
|
|
|
|
def index(self):
|
|
|
|
# Importação da classe desejada
|
|
indexService = self.dynamic_import.service("index_service", "IndexService")
|
|
|
|
# Instânciamento da classe service
|
|
self.indexService = indexService()
|
|
|
|
# Lista todos os usuários
|
|
return {
|
|
'message': 'Usuários localizados com sucesso',
|
|
'data': self.indexService.execute()
|
|
} |