summaryrefslogtreecommitdiff
path: root/app/services/ci/job_token_scope/remove_project_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/ci/job_token_scope/remove_project_service.rb')
-rw-r--r--app/services/ci/job_token_scope/remove_project_service.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/app/services/ci/job_token_scope/remove_project_service.rb b/app/services/ci/job_token_scope/remove_project_service.rb
index 15644e529d9..d21eff2b619 100644
--- a/app/services/ci/job_token_scope/remove_project_service.rb
+++ b/app/services/ci/job_token_scope/remove_project_service.rb
@@ -5,14 +5,16 @@ module Ci
class RemoveProjectService < ::BaseService
include EditScopeValidations
- def execute(target_project)
+ def execute(target_project, direction: :outbound)
validate_edit!(project, target_project, current_user)
if project == target_project
return ServiceResponse.error(message: "Source project cannot be removed from the job token scope")
end
- link = ::Ci::JobToken::ProjectScopeLink.for_source_and_target(project, target_project)
+ link = ::Ci::JobToken::ProjectScopeLink
+ .with_access_direction(direction)
+ .for_source_and_target(project, target_project)
unless link
return ServiceResponse.error(message: "Target project is not in the job token scope")