from actions.dynamic_import.dynamic_import import DynamicImport from packages.v1.administrativo.services.ato_documento.ato_documento_index_service import ( IndexService, ) from packages.v1.administrativo.services.ato_documento.ato_documento_save_service import ( SaveService, ) from packages.v1.administrativo.services.ato_documento.ato_documento_show_service import ( ShowService, ) from packages.v1.administrativo.services.ato_documento.ato_principal_show_service import ( ShowAtoPrincipalService, ) from packages.v1.administrativo.services.ato_documento.ato_documento_update_service import ( UpdateService, ) from packages.v1.administrativo.services.ato_documento.ato_documento_delete_service import ( DeleteService, ) from packages.v1.administrativo.schemas.ato_documento_schema import ( AtoDocumentoSchema, AtoDocumentoSaveSchema, AtoDocumentoUpdateSchema, AtoDocumentoIdSchema, ) class AtoDocumentoController: 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_documento") pass # Lista todos os documentos def index(self): # Instânciamento da classe service index_service = IndexService() # Lista todos os documentos return { "message": "Documentos localizados com sucesso", "data": index_service.execute(), } # Busca um documento especifico pelo ID do ato principal def showAtoPrincipal(self, ato_documento_schema: AtoDocumentoSchema): # Instânciamento da classe desejada show_service = ShowAtoPrincipalService() # Busca e retorna o documento desejado return { "message": "Documento localizado com sucesso", "data": show_service.execute(ato_documento_schema), } # Busca um documento especifico pelo ID def show(self, ato_documento_schema: AtoDocumentoSchema): # Instânciamento da classe desejada show_service = ShowService() # Busca e retorna o documento desejado return { "message": "Documento localizado com sucesso", "data": show_service.execute(ato_documento_schema), } # Cadastra um novo documento def save(self, ato_documento_schema: AtoDocumentoSaveSchema): # Instânciamento da classe desejada save_service = SaveService() # Busca e retorna o documento desejado return { "message": "Documento salvo com sucesso", "data": save_service.execute(ato_documento_schema), } # Atualiza os dados de um documento def update( self, ato_documento_id: int, ato_documento_schema: AtoDocumentoUpdateSchema ): # Instânciamento da classe desejada update_service = UpdateService() # Busca e retorna o documento desejado return { "message": "Documento atualizado com sucesso", "data": update_service.execute(ato_documento_id, ato_documento_schema), } # Exclui um documento def delete(self, ato_documento_schema: AtoDocumentoSchema): # Instânciamento da classe desejada delete_service = DeleteService() # Busca e retorna o documento desejado return { "message": "Documento removido com sucesso", "data": delete_service.execute(ato_documento_schema), }