@spec encrypt(binary, EncryptionKey.t()) ::
        {:ok, binary, EncryptionArtefacts.t()}
      @impl EncryptionStrategy
      def encrypt(data, %EncryptionKey{key: key}) do
        iv = :crypto.strong_rand_bytes(@iv_byte_size)

        {encrypted, auth_tag} =
          :crypto.crypto_one_time_aead(
            @erlang_crypto_cypher,
            key,
            iv,
            data,
            @additional_authenticated_data,
            @auth_tag_length,
            true
          )
CREATE FUNCTION notify_order_change()
RETURNS trigger AS $$
BEGIN
  PERFORM pg_notify(
    'orders_channel',
    json_build_object(
      'id', NEW.id,
      'status', NEW.status
    )::text
  );
  RETURN NEW;
END;
$$ LANGUAGE plpgsql;

LISTEN orders_channel;
Profy
Custom software development
Diegemstraat 149
1930 Zaventem
Belgium