diff options
Diffstat (limited to 'app/graphql/resolvers/ci/job_token_scope_resolver.rb')
-rw-r--r-- | app/graphql/resolvers/ci/job_token_scope_resolver.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/app/graphql/resolvers/ci/job_token_scope_resolver.rb b/app/graphql/resolvers/ci/job_token_scope_resolver.rb new file mode 100644 index 00000000000..ca76a7b94fc --- /dev/null +++ b/app/graphql/resolvers/ci/job_token_scope_resolver.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Resolvers + module Ci + class JobTokenScopeResolver < BaseResolver + include Gitlab::Graphql::Authorize::AuthorizeResource + + authorize :admin_project + description 'Container for resources that can be accessed by a CI job token from the current project. Null if job token scope setting is disabled.' + type ::Types::Ci::JobTokenScopeType, null: true + + def resolve + authorize!(object) + + return unless object.ci_job_token_scope_enabled? + + ::Ci::JobToken::Scope.new(object) + end + end + end +end |