from actions.dynamic_import.dynamic_import import DynamicImport from packages.v1.administrativo.services.ato_parte.ato_parte_index_service import ( IndexService, ) from packages.v1.administrativo.services.ato_parte.ato_parte_save_service import ( SaveService, ) from packages.v1.administrativo.services.ato_parte.ato_parte_show_service import ( ShowService, ) from packages.v1.administrativo.services.ato_parte.ato_principal_show_service import ( AtoPrincipalShowService, ) from packages.v1.administrativo.services.ato_parte.ato_parte_update_service import ( UpdateService, ) from packages.v1.administrativo.services.ato_parte.ato_parte_delete_service import ( DeleteService, ) from packages.v1.administrativo.schemas.ato_parte_schema import ( AtoParteSchema, AtoParteSaveSchema, AtoParteUpdateSchema, AtoParteIdSchema, ) class AtoParteController: 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("ato_parte") pass # Lista todas as partes def index(self): # Instânciamento da classe service index_service = IndexService() # Lista todas as partes return { "message": "Partes localizadas com sucesso", "data": index_service.execute(), } # Busca uma parte especifica pelo ID do ato principal def showAtoPrincipal(self, ato_parte_schema: AtoParteSchema): # Instânciamento da classe desejada show_service = AtoPrincipalShowService() # Busca e retorna a parte desejada return { "message": "Parte localizada com sucesso", "data": show_service.execute(ato_parte_schema), } # Busca uma parte especifica pelo ID def show(self, ato_parte_schema: AtoParteSchema): # Instânciamento da classe desejada show_service = ShowService() # Busca e retorna a parte desejada return { "message": "Parte localizada com sucesso", "data": show_service.execute(ato_parte_schema), } # Cadastra uma nova parte def save(self, ato_parte_schema: AtoParteSaveSchema): # Instânciamento da classe desejada save_service = SaveService() # Busca e retorna a parte desejada return { "message": "Parte salva com sucesso", "data": save_service.execute(ato_parte_schema), } # Atualiza os dados de uma parte def update(self, ato_parte_id: int, ato_parte_schema: AtoParteUpdateSchema): # Instânciamento da classe desejada update_service = UpdateService() # Busca e retorna a parte desejada return { "message": "Parte atualizada com sucesso", "data": update_service.execute(ato_parte_id, ato_parte_schema), } # Exclui uma parte def delete(self, ato_parte_schema: AtoParteSchema): # Instânciamento da classe desejada delete_service = DeleteService() # Busca e retorna a parte desejada return { "message": "Parte removida com sucesso", "data": delete_service.execute(ato_parte_schema), }