From fa30e168e06019227182361611dc74eeda0dd4be Mon Sep 17 00:00:00 2001 From: Thorsten Schau Date: Thu, 24 Aug 2023 14:25:10 +0200 Subject: [PATCH] adding Session deletion to store procedure --- ...0__update-sp_DisableProfileAndShopProc.sql | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/api-db-migrations/20230824142200__update-sp_DisableProfileAndShopProc.sql diff --git a/src/api-db-migrations/20230824142200__update-sp_DisableProfileAndShopProc.sql b/src/api-db-migrations/20230824142200__update-sp_DisableProfileAndShopProc.sql new file mode 100644 index 00000000..d92759ca --- /dev/null +++ b/src/api-db-migrations/20230824142200__update-sp_DisableProfileAndShopProc.sql @@ -0,0 +1,52 @@ +-- migrate:up +CREATE OR REPLACE PROCEDURE sp_DisableProfileAndShop(address varchar(100)) +LANGUAGE plpgsql +AS $$ +BEGIN + -- Remove Session + DELETE FROM "Session" + WHERE "Session"."profileId" IN( + SELECT + "id" + FROM + "Profile" + WHERE + "circlesAddress" = address); + -- Copy circlesAddress to disabledCirclesAddress + UPDATE + "Profile" + SET + "disabledCirclesAddress" = "circlesAddress" + WHERE + "circlesAddress" = address; + -- Set disabled status + UPDATE + "Profile" + SET + "status" = 'disabled' + WHERE + "circlesAddress" = address; + -- Remove CirclesAddress + UPDATE + "Profile" + SET + "circlesAddress" = NULL + WHERE + "circlesAddress" = address; + -- Disable the Shop + UPDATE + "Profile" + SET + "shopEnabled" = FALSE + WHERE + id IN( + SELECT + "memberAtId" + FROM + "Membership" + WHERE + "memberAddress" = address + AND "isAdmin" = TRUE); +END +$$ +-- migrate:down