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() }