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:
Validação de status
Validação de estado
Retorno de chamada interno
Retorno de chamada de SDK
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:
Definição de todos os pré-requisitos como não concluídos
Exclusão da configuração do conector
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"
}
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"
}
Resposta de erro¶
Em caso de erro, a seguinte resposta é retornada:
{
"response_code": "<ERROR_CODE>",
"message": "<error message>"
}
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émresponse_code
ou uma resposta de erro não contémmessage
, mas contémresponse_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
eRESET_CONFIGURATION_VALIDATE
- definidos pelo desenvolvedor do conector.