2022-06-09 12:57:36 -07:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class WebhookPolicy < ApplicationPolicy
|
|
|
|
def index?
|
2022-07-04 17:41:40 -07:00
|
|
|
role.can?(:manage_webhooks)
|
2022-06-09 12:57:36 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
def create?
|
2022-07-04 17:41:40 -07:00
|
|
|
role.can?(:manage_webhooks)
|
2022-06-09 12:57:36 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
def show?
|
2022-07-04 17:41:40 -07:00
|
|
|
role.can?(:manage_webhooks)
|
2022-06-09 12:57:36 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
def update?
|
2023-06-22 05:52:25 -07:00
|
|
|
role.can?(:manage_webhooks) && record.required_permissions.all? { |permission| role.can?(permission) }
|
2022-06-09 12:57:36 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
def enable?
|
2022-07-04 17:41:40 -07:00
|
|
|
role.can?(:manage_webhooks)
|
2022-06-09 12:57:36 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
def disable?
|
2022-07-04 17:41:40 -07:00
|
|
|
role.can?(:manage_webhooks)
|
2022-06-09 12:57:36 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
def rotate_secret?
|
2022-07-04 17:41:40 -07:00
|
|
|
role.can?(:manage_webhooks)
|
2022-06-09 12:57:36 -07:00
|
|
|
end
|
|
|
|
|
|
|
|
def destroy?
|
2023-06-22 05:52:25 -07:00
|
|
|
role.can?(:manage_webhooks) && record.required_permissions.all? { |permission| role.can?(permission) }
|
2022-06-09 12:57:36 -07:00
|
|
|
end
|
|
|
|
end
|