Redefinir a configuração

A redefinição da configuração só é possível na fase de assistente e pode ser feita chamando o procedimento PUBLIC.RESET_CONFIGURATION(). Esse procedimento redefine todos os pré-requisitos como não concluídos, exclui a configuração salva anteriormente e define o status do conector como INSTALLED. Ele pode ser usado se houver necessidade de reconfigurar o conector (ou seja, passar novamente pelas etapas Pré-requisitos, Configuração de conexão ou Configuração do conector). Os conectores só podem ser reconfigurados se você não tiver concluído a etapa Finalização da configuração. A reconfiguração do conector pode ser personalizada usando SQL ou ResetConfigurationHandlerBuilder.

Somente os usuários atribuídos à função de aplicativo ADMIN podem chamar o procedimento PUBLIC.RESET_CONFIGURATION().

A redefinição da configuração consiste nas seguintes fases configuráveis, que, por padrão, não têm efeito:

  1. Validação de status

  2. Validação de estado

  3. Retorno de chamada interno

  4. Retorno de chamada de SDK

  5. Atualização de status

Requisitos

A redefinição da configuração requer a execução dos seguintes arquivos SQL durante a instalação do aplicativo nativo:

  • core.sql

  • configuration/app_config.sql

  • configuration/prerequisites.sql

  • configuration/connector_configuration.sql

  • configuration/connection_configuration.sql

  • configuration/reset_configuration.sql

Validação de status

Para redefinir a configuração, o conector precisa estar no status CONFIGURING. O status da configuração precisa ser igual a um dos seguintes: INSTALLED, PREREQUISITES_DONE, CONFIGURED ou CONNECTED. Para ver o diagrama completo das transições de status, consulte Fluxo do conector.

A validação não pode ser sobrescrita usando ResetConfigurationHandlerBuilder ou sobrescrevendo o procedimento armazenado. No entanto, é possível implementar um manipulador personalizado, que não terá esse tipo de validação.

Validação de estado

A fase de validação de estado é personalizável e, por padrão, executa o procedimento PUBLIC.RESET_CONFIGURATION_VALIDATE(), que retorna 'response_code': 'OK'. Esse procedimento pode ser personalizado substituindo o procedimento que usa SQL ou implementando a interface ResetConfigurationValidator.

Retorno de chamada interno

A fase de retorno de chamada interna é personalizável e, por padrão, executa o procedimento PUBLIC.RESET_CONFIGURATION_INTERNAL(), que retorna 'response_code': 'OK'. Esse procedimento permite a execução da lógica personalizada necessária ao redefinir a configuração. Por exemplo, excluir a configuração personalizada. Esse procedimento pode ser personalizado substituindo o procedimento que usa SQL ou implementando a interface ResetConfigurationCallback.

Retorno de chamada de SDK

SDK é usado para atualizar os componentes controlados por SDK. Essa etapa consiste nos seguintes processos, que são executados como uma única transação:

  1. Definição de todos os pré-requisitos como não concluídos

  2. Exclusão da configuração do conector

  3. Exclusão da configuração de conexões

Definição de todos os pré-requisitos como não concluídos

Durante essa etapa, a coluna IS_COMPLETED é definida como false para todos os registros na tabela interna PREREQUISITES.

Exclusão da configuração do conector

Durante essa etapa, o endereço connector_configuration é excluído da tabela interna APP_CONFIG.

Exclusão da configuração do conector

Durante essa etapa, o endereço connection_configuration é excluído da tabela interna APP_CONFIG.

O retorno de chamada SDK não pode ser substituído usando o ResetConfigurationHandlerBuilder ou substituindo o procedimento armazenado. É possível implementar um manipulador personalizado, que não terá esse retorno de chamada.

Nota

A exibição PUBLIC.CONNECTOR_CONFIGURATION retorna a configuração atual da tabela interna APP_CONFIG. A exibição PUBLIC.PREREQUISITES retorna os pré-requisitos da tabela interna PREREQUISITES. Ambas as exibições estão disponíveis para as funções de aplicativo ADMIN e VIEWER.

Atualização de status

Quando concluída, essa etapa define o status interno do conector como:

{
    "status": "CONFIGURING",
    "configurationStatus": "INSTALLED"
}
Copy

Resposta

Resposta bem-sucedida

Se o procedimento for concluído com êxito, ele retornará um código de resposta OK, conforme mostrado abaixo:

{
  "response_code": "OK"
}
Copy

Resposta de erro

Em caso de erro, a seguinte resposta é retornada:

{
  "response_code": "<ERROR_CODE>",
  "message": "<error message>"
}
Copy

Possíveis códigos de erro incluem:

  • INVALID_CONNECTOR_STATUS - Status do conector inválido. Status esperado: [CONFIGURING].

  • INVALID_CONNECTOR_CONFIGURATION_STATUS - Status do conector inválido. Status esperados: [INSTALLED, PREREQUISITES_DONE, CONFIGURED, CONNECTED].

  • INTERNAL_ERROR - Algo deu errado internamente, a mensagem deve ser descritiva.

  • PROCEDURE_NOT_FOUND - O procedimento que foi chamado não existe.

  • UNKNOWN_SQL_ERROR - Este erro ocorre quando algo inesperado acontece ao chamar procedimentos internos.

  • INVALID_RESPONSE - Este erro ocorre quando a resposta recebida do procedimento interno não contém response_code ou uma resposta de erro não contém message, mas contém response_code.

  • UNKNOWN_ERROR - Significa que algo inesperado deu errado (a mensagem de exceção lançada é encaminhada).

  • Códigos de erro personalizados recebidos dos procedimentos RESET_CONFIGURATION_INTERNAL e RESET_CONFIGURATION_VALIDATE - definidos pelo desenvolvedor do conector.