glitch-soc/app/policies/webhook_policy.rb

36 lines
654 B
Ruby

# frozen_string_literal: true
class WebhookPolicy < ApplicationPolicy
def index?
role.can?(:manage_webhooks)
end
def create?
role.can?(:manage_webhooks)
end
def show?
role.can?(:manage_webhooks)
end
def update?
role.can?(:manage_webhooks) && record.required_permissions.all? { |permission| role.can?(permission) }
end
def enable?
role.can?(:manage_webhooks)
end
def disable?
role.can?(:manage_webhooks)
end
def rotate_secret?
role.can?(:manage_webhooks)
end
def destroy?
role.can?(:manage_webhooks) && record.required_permissions.all? { |permission| role.can?(permission) }
end
end