diff options
Diffstat (limited to 'app/policies/releases/source_policy.rb')
-rw-r--r-- | app/policies/releases/source_policy.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/policies/releases/source_policy.rb b/app/policies/releases/source_policy.rb new file mode 100644 index 00000000000..8b86b925589 --- /dev/null +++ b/app/policies/releases/source_policy.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Releases + class SourcePolicy < BasePolicy + delegate { @subject.project } + + rule { can?(:public_access) | can?(:reporter_access) }.policy do + enable :read_release_sources + end + + rule { ~can?(:read_release) }.prevent :read_release_sources + end +end |