From 8788b90271ac8a64728c4c31f6f1b93567bef95e Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Tue, 12 Nov 2024 21:53:01 +0000 Subject: [PATCH] feat(#74): Add token expiration for account deletion --- ...41112214000_add_token_cleanup_function.sql | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 supabase/migrations/20241112214000_add_token_cleanup_function.sql diff --git a/supabase/migrations/20241112214000_add_token_cleanup_function.sql b/supabase/migrations/20241112214000_add_token_cleanup_function.sql new file mode 100644 index 0000000..b85de41 --- /dev/null +++ b/supabase/migrations/20241112214000_add_token_cleanup_function.sql @@ -0,0 +1,21 @@ +-- Enable the "pg_cron" extension +create extension pg_cron with schema pg_catalog; + +grant usage on schema cron to postgres; +grant all privileges on all tables in schema cron to postgres; + +-- Create a function to delete expired tokens +CREATE OR REPLACE FUNCTION delete_expired_tokens() +RETURNS void LANGUAGE plpgsql AS $$ +BEGIN + DELETE FROM account_deletion_requests + WHERE requested_at < NOW() - INTERVAL '24 hours'; +END; +$$; + +-- Schedule the function to run every hour +SELECT cron.schedule( + 'delete_expired_tokens', + '0 * * * *', + 'CALL delete_expired_tokens()' +); \ No newline at end of file