Gatilhos

O que coloca sua automação em movimento.

O que é um Gatilho no Jestor?

"Gatilho" é um termo comum quando se fala em automações e se refere a um evento que aciona a automação.

É uma relação de causa e efeito. Cada gatilho é emparelhado com uma ação. Ou seja: quando o gatilho é ativado, algo vai acontecer. No caso de automações low-code, essa ação é o que você programou para ser.

Quais Gatilhos posso utilizar no Jestor?

Existem seis gatilhos diferentes no Jestor:

  • Antes de um registro ser criado.
  • Antes de um registro ser atualizado.
  • Antes de um registro ser excluído.
  • Após a criação de um registro.
  • Após a atualização de um registro.
  • Após a exclusão de um registro.

Como você pode ver, eles refletem as três ações diferentes que um usuário pode realizar em um registro por meio da interface: criar, atualizar ou excluir.

Isso é útil para definir condições específicas para a execução de uma automação. Por exemplo, talvez eu queira atribuir automaticamente um ID de cliente aleatório para clientes em uma tabela. Para isso, provavelmente quero usar um gatilho que seja ativado quando eu criar um registro porque quero que esse cliente tenha esse ID assim que eu inserir suas informações no Jestor, e também porque essa automação só precisa ser executada uma vez.

No entanto, você também deve ter notado que temos dois gatilhos diferentes para esses eventos, que são os gatilhos Antes e Depois. A diferença pode não ser óbvia no início, mas é uma distinção importante que impacta fortemente certas automações, pois se relaciona se as informações já foram gravadas no banco de dados ou não.

Antes e Depois

Para entender a diferença entre Antes e Depois, temos que entender como os dados são escritos em uma tabela, cronologicamente falando.

Sempre que um usuário realiza uma ação pela interface, há dois momentos diferentes: antes da informação que ele está enviando ser realmente gravada no banco de dados e depois da informação ser gravada.

568

Sequência de eventos quando um usuário executa uma ação.

Quando você escolhe um gatilho antes, sua automação será executada no momento (1). Como isso afeta as automações?

  • Se você alterar os valores dentro do array $objectNew, os novos valores serão aqueles que serão escritos no banco de dados.
  • Se você fizer uma busca na tabela que acionou a automação, as informações enviadas pelo usuário não irão aparecer na busca porque ainda não estão escritas no banco de dados. Isso significa que se o usuário criou um registro, o registro inteiro não aparecerá na pesquisa. Se eles estiverem atualizando um registro, os valores antigos aparecerão na pesquisa. Se eles estiverem excluindo um registro, ele ainda aparecerá na pesquisa.
  • Se o usuário estiver criando um registro, $objectNew ainda não terá um id, porque o registro ainda não foi criado.

Da mesma forma, se você escolher o gatilho depois, sua automação será executada no momento (3), o que significa:

  • Se você alterar os valores dentro do array $objectNew, o não alterará os dados do registro para refletir essas alterações, pois as informações já foram gravadas no banco de dados.
  • Caso você faça uma busca na tabela que acionou a automação, as informações enviadas pelo usuário aparecerão na busca pois já estão escritas no banco de dados. Isso significa que se seu usuário criou um registro, ele aparecerá na pesquisa. Se eles estiverem atualizando um registro, os novos valores serão os que aparecerão na pesquisa. Se eles estiverem excluindo um registro, ele ainda não aparecerá na pesquisa.

Escolher o momento apropriado para o gatilho é tão importante quanto a ação em si e afetará diretamente a maneira como você precisará codificar sua solução.