diff options
Diffstat (limited to 'app/models/ci/job_token/scope.rb')
-rw-r--r-- | app/models/ci/job_token/scope.rb | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/app/models/ci/job_token/scope.rb b/app/models/ci/job_token/scope.rb index 42cfdc21d66..3a5765aa00c 100644 --- a/app/models/ci/job_token/scope.rb +++ b/app/models/ci/job_token/scope.rb @@ -32,12 +32,15 @@ module Ci def all_projects Project.from_union([ Project.id_in(source_project), - Project.where_exists( - Ci::JobToken::ProjectScopeLink - .from_project(source_project) - .where('projects.id = ci_job_token_project_scope_links.target_project_id')) + Project.id_in(target_project_ids) ], remove_duplicates: false) end + + private + + def target_project_ids + Ci::JobToken::ProjectScopeLink.from_project(source_project).pluck(:target_project_id) + end end end end |