summaryrefslogtreecommitdiff
path: root/app/policies/packages/policies/group_policy.rb
blob: 32dbcb1b65b21453051a81523aa243b74de74eed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# frozen_string_literal: true

module Packages
  module Policies
    class GroupPolicy < BasePolicy
      delegate(:group) { @subject.group }

      overrides(:read_package)

      rule { group.public_group }.policy do
        enable :read_package
      end

      rule { group.reporter }.policy do
        enable :read_package
      end

      rule { group.read_package_registry_deploy_token }.policy do
        enable :read_package
      end

      rule { group.write_package_registry_deploy_token }.policy do
        enable :read_package
      end
    end
  end
end