From 0a7de5d1ee3ea9307324005e6b70212c630916ef Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 6 May 2024 11:26:41 +0200 Subject: [PATCH] Refactor web push subscription deletion --- app/controllers/api/v1/push/subscriptions_controller.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/v1/push/subscriptions_controller.rb b/app/controllers/api/v1/push/subscriptions_controller.rb index 7a9a4763ad..7cef732abe 100644 --- a/app/controllers/api/v1/push/subscriptions_controller.rb +++ b/app/controllers/api/v1/push/subscriptions_controller.rb @@ -15,7 +15,7 @@ class Api::V1::Push::SubscriptionsController < Api::BaseController def create with_redis_lock("push_subscription:#{current_user.id}") do - Web::PushSubscription.where(access_token_id: doorkeeper_token.id).destroy_all + destroy_web_push_subscriptions! @push_subscription = Web::PushSubscription.create!( endpoint: subscription_params[:endpoint], @@ -36,12 +36,16 @@ class Api::V1::Push::SubscriptionsController < Api::BaseController end def destroy - Web::PushSubscription.where(access_token_id: doorkeeper_token.id).destroy_all + destroy_web_push_subscriptions! render_empty end private + def destroy_web_push_subscriptions! + Web::PushSubscription.where(access_token_id: doorkeeper_token.id).destroy_all + end + def set_push_subscription @push_subscription = Web::PushSubscription.find_by(access_token_id: doorkeeper_token.id) end