saas_api/packages/v1/administrativo/controllers/t_pessoa_controller.py

123 lines
4.1 KiB
Python

from actions.dynamic_import.dynamic_import import DynamicImport
from packages.v1.administrativo.schemas.t_pessoa_schema import (
TPessoaIdSchema,
TPessoaNameSchema,
TPessoaSaveSchema,
TPessoaTipoSchema,
TPessoaUpdateSchema,
)
class TPessoaController:
def __init__(self):
# Action responsável por carregar as services de acordo 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("t_pessoa")
pass
# Lista todos os regimes de bens
def index(self, t_pessoa_tipo_schema: TPessoaTipoSchema):
# Importação da classe desejada
t_pessoa_index_service = self.dynamic_import.service(
"t_pessoa_index_service", "TPessoaIndexService"
)
# Instância da classe service
self.t_pessoa_index_service = t_pessoa_index_service()
# Lista todos os regimes de bens
return {
"message": "Pessoas localizados com sucesso",
"data": self.t_pessoa_index_service.execute(t_pessoa_tipo_schema),
}
# Busca um regime de bens específico pelo ID
def show(self, t_pessoa_id_schema: TPessoaIdSchema):
# Importação da classe desejada
t_pessoa_show_service = self.dynamic_import.service(
"t_pessoa_show_service", "TPessoaShowService"
)
# Instância da classe desejada
self.t_pessoa_show_service = t_pessoa_show_service()
# Busca e retorna o regime de bens desejado
return {
"message": "Pessoa localizado com sucesso",
"data": self.t_pessoa_show_service.execute(t_pessoa_id_schema),
}
# Busca um regime de bens pela descrição
def get_by_nome(self, t_pessoa_name_schema: TPessoaNameSchema):
# Importação da classe desejada
t_pessoa_show_service = self.dynamic_import.service(
"t_pessoa_show_service", "TPessoaShowService"
)
# Instância da classe desejada
self.t_pessoa_show_service = t_pessoa_show_service()
# Busca e retorna o regime de bens desejado
return {
"message": "Pessoa localizado com sucesso",
"data": self.t_pessoa_show_service.execute(regimebens_schema, True),
}
# Cadastra um novo regime de bens
def save(self, t_pessoa_save_schema: TPessoaSaveSchema):
# Importação da classe desejada
t_pessoa_save_service = self.dynamic_import.service(
"t_pessoa_save_service", "TPessoaSaveService"
)
# Instância da classe desejada
self.t_pessoa_save_service = t_pessoa_save_service()
# Busca e retorna o regime de bens desejado
return {
"message": "Pessoa salvo com sucesso",
"data": self.t_pessoa_save_service.execute(t_pessoa_save_schema),
}
# Atualiza os dados de um regime de bens
def update(self, t_pessoa_update_schame: TPessoaUpdateSchema):
# Importação da classe desejada
t_pessoa_update_service = self.dynamic_import.service(
"t_pessoa_update_service", "TPessoaUpdateService"
)
# Instância da classe desejada
self.t_pessoa_update_service = t_pessoa_update_service()
# Busca e retorna o regime de bens desejado
return {
"message": "Pessoa atualizado com sucesso",
"data": self.t_pessoa_update_service.execute(t_pessoa_update_schame),
}
# Exclui um regime de bens
def delete(self, t_pessoa_id_schema: TPessoaIdSchema):
# Importação da classe desejada
t_pessoa_delete_service = self.dynamic_import.service(
"t_pessoa_delete_service", "TPessoaDeleteService"
)
# Instância da classe desejada
self.t_pessoa_delete_service = t_pessoa_delete_service()
# Busca e retorna o regime de bens desejado
return {
"message": "Pessoa removido com sucesso",
"data": self.t_pessoa_delete_service.execute(t_pessoa_id_schema),
}