Closed thiago-costa-barros closed 19 hours ago
Alterações no banco realizadas script utilizado
update externalschema."ExternalWebhookReceiver"
set "EventName" = case
when "EventName" = 'PURCHASE_CANCELED' then 0
when "EventName" = 'PURCHASE_COMPLETE' then 1
when "EventName" = 'PURCHASE_BILLET_PRINTED' then 2
when "EventName" = 'PURCHASE_APPROVED' then 3
when "EventName" = 'PURCHASE_PROTEST' then 4
when "EventName" = 'PURCHASE_REFUNDED' then 5
when "EventName" = 'PURCHASE_CHARGEBACK' then 6
when "EventName" = 'PURCHASE_EXPIRED' then 7
when "EventName" = 'PURCHASE_DELAYED' then 8
when "EventName" = 'PURCHASE_OUT_OF_SHOPPING_CART' then 9
when "EventName" = 'SWITCH_PLAN' then 10
when "EventName" = 'SUBSCRIPTION_CANCELLATION' then 11
when "EventName" = 'UPDATE_SUBSCRIPTION_CHARGE_DATE' then 12
else null
end
alter table externalschema."ExternalWebhookReceiver"
alter column "EventName" type int4
using "EventName"::int4
ALTER TABLE externalschema."ExternalWebhookReceiver"
RENAME COLUMN "EventName" TO "EventType";
commit;```
![image](https://github.com/user-attachments/assets/eb1f71e1-ba67-4d6a-8190-ae32adb325eb)
Procedure externalschema.ExecuteInsertExternalWebhookReceiver alterada
CREATE OR REPLACE PROCEDURE externalschema.executeinsertexternalwebhookreceiver(IN requestid text, IN eventdate timestamp without time zone, IN eventtype integer, IN status integer, IN type integer, IN version text, IN payload jsonb)
LANGUAGE plpgsql
AS $procedure$
BEGIN
-- Inserir os dados na tabela ExternalWebhookReceiver
INSERT INTO externalschema."ExternalWebhookReceiver" (
"RequestId",
"EventDate",
"EventType",
"Status",
"Type",
"Version",
"Payload",
"CreationDate",
"UpdateDate"
)
VALUES (
RequestId,
EventDate,
EventType,
Status,
Type,
Version,
Payload,
now(), -- Define a data de criação como a data atual
now() -- Define a data de atualização como a data atual
)
ON CONFLICT ("RequestId") DO NOTHING; -- Evitar duplicações no caso de IDs únicos já existentes
END;
$procedure$
;
Realizado migration change_eventName_to_eventType_in_externalwebhookreceiver e backUp adicionado ao banco
Testes em localhost realizados e comit realizado
Na requisição do webhook, é passado um event com tipo string. Se faz necessário adaptação no banco de dados para a coluna receber um valor int a partir do enum.