diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2020-05-03 16:30:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-03 16:30:36 +0200 |
commit | 988b0493fea7a850130b83d0e81675bda8dd9d8e (patch) | |
tree | 0d9cdb503c8f0fe131e01cfdbf61ab85dcd1f296 /app/controllers/api/v1/push | |
parent | a1062df1e1bc15d32a3afe3054d1e0063a4beb93 (diff) |
Add more tests for ActivityPub controllers (#13585)
Diffstat (limited to 'app/controllers/api/v1/push')
-rw-r--r-- | app/controllers/api/v1/push/subscriptions_controller.rb | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/app/controllers/api/v1/push/subscriptions_controller.rb b/app/controllers/api/v1/push/subscriptions_controller.rb index 1cbc92b93..d34b333eb 100644 --- a/app/controllers/api/v1/push/subscriptions_controller.rb +++ b/app/controllers/api/v1/push/subscriptions_controller.rb @@ -4,6 +4,7 @@ class Api::V1::Push::SubscriptionsController < Api::BaseController before_action -> { doorkeeper_authorize! :push } before_action :require_user! before_action :set_web_push_subscription + before_action :check_web_push_subscription, only: [:show, :update] def create @web_subscription&.destroy! @@ -21,16 +22,11 @@ class Api::V1::Push::SubscriptionsController < Api::BaseController end def show - raise ActiveRecord::RecordNotFound if @web_subscription.nil? - render json: @web_subscription, serializer: REST::WebPushSubscriptionSerializer end def update - raise ActiveRecord::RecordNotFound if @web_subscription.nil? - @web_subscription.update!(data: data_params) - render json: @web_subscription, serializer: REST::WebPushSubscriptionSerializer end @@ -45,12 +41,17 @@ class Api::V1::Push::SubscriptionsController < Api::BaseController @web_subscription = ::Web::PushSubscription.find_by(access_token_id: doorkeeper_token.id) end + def check_web_push_subscription + not_found if @web_subscription.nil? + end + def subscription_params params.require(:subscription).permit(:endpoint, keys: [:auth, :p256dh]) end def data_params return {} if params[:data].blank? + params.require(:data).permit(alerts: [:follow, :follow_request, :favourite, :reblog, :mention, :poll]) end end |