fedibird-fe/app/controllers/admin/push_subscription_blocks_controller.rb
2023-02-06 16:28:36 +09:00

72 lines
1.8 KiB
Ruby

# frozen_string_literal: true
module Admin
class PushSubscriptionBlocksController < BaseController
before_action :set_push_subscription_block, except: [:index, :new, :create]
def index
authorize :push_subscription_block, :update?
@push_subscription_blocks = PushSubscriptionBlock.all
end
def new
authorize :push_subscription_block, :update?
@push_subscription_block = PushSubscriptionBlock.new
end
def create
authorize :push_subscription_block, :update?
@push_subscription_block = PushSubscriptionBlock.new(resource_params)
if @push_subscription_block.save
@push_subscription_block.enable!
redirect_to admin_push_subscription_blocks_path
else
render action: :new
end
end
def edit
authorize :push_subscription_block, :update?
end
def update
authorize :push_subscription_block, :update?
if @push_subscription_block.update(resource_params)
redirect_to admin_push_subscription_blocks_path
else
render action: :edit
end
end
def destroy
authorize :push_subscription_block, :update?
@push_subscription_block.destroy
redirect_to admin_push_subscription_blocks_path
end
def enable
authorize :push_subscription_block, :update?
@push_subscription_block.enable!
redirect_to admin_push_subscription_blocks_path
end
def disable
authorize :push_subscription_block, :update?
@push_subscription_block.disable!
redirect_to admin_push_subscription_blocks_path
end
private
def set_push_subscription_block
@push_subscription_block = PushSubscriptionBlock.find(params[:id])
end
def resource_params
params.require(:push_subscription_block).permit(:name, :endpoint)
end
end
end