summaryrefslogtreecommitdiff
path: root/app/presenters/projects/settings/deploy_keys_presenter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/presenters/projects/settings/deploy_keys_presenter.rb')
-rw-r--r--app/presenters/projects/settings/deploy_keys_presenter.rb29
1 files changed, 19 insertions, 10 deletions
diff --git a/app/presenters/projects/settings/deploy_keys_presenter.rb b/app/presenters/projects/settings/deploy_keys_presenter.rb
index 103c26289bf..13290a8e632 100644
--- a/app/presenters/projects/settings/deploy_keys_presenter.rb
+++ b/app/presenters/projects/settings/deploy_keys_presenter.rb
@@ -14,12 +14,20 @@ module Projects
@key ||= DeployKey.new.tap { |dk| dk.deploy_keys_projects.build }
end
+ # It includes:
+ # - The deploy keys enabled in the project.
def enabled_keys
strong_memoize(:enabled_keys) do
project.deploy_keys.with_projects
end
end
+ # NOTE: This method is redundant. Use `available_project_keys` and `available_public_keys` instead.
+ # It includes:
+ # - Enabled deploy keys in projects that can be accessed by the user.
+ # - Instance-level public deploy keys.
+ # It excludes:
+ # - The deploy keys enabled in the project.
def available_keys
strong_memoize(:available_keys) do
current_user
@@ -29,22 +37,23 @@ module Projects
end
end
+ # It includes:
+ # - Enabled deploy keys in projects that can be accessed by the user.
+ # It excludes:
+ # - The deploy keys enabled in the project
def available_project_keys
strong_memoize(:available_project_keys) do
- current_user
- .project_deploy_keys
- .id_not_in(enabled_keys.select(:id))
- .with_projects
+ current_user.project_deploy_keys.with_projects - enabled_keys
end
end
+ # It includes:
+ # - Instance-level public deploy keys.
+ # It excludes:
+ # - The deploy keys enabled in the project.
def available_public_keys
strong_memoize(:available_public_keys) do
- DeployKey
- .are_public
- .id_not_in(enabled_keys.select(:id))
- .id_not_in(available_project_keys.select(:id))
- .with_projects
+ DeployKey.are_public.with_projects - enabled_keys
end
end
@@ -78,7 +87,7 @@ module Projects
# rubocop: disable CodeReuse/ActiveRecord
def user_readable_project_ids
- project_ids = (available_keys + available_project_keys + available_public_keys)
+ project_ids = (available_project_keys + available_public_keys)
.flat_map { |deploy_key| deploy_key.deploy_keys_projects.map(&:project_id) }
.compact
.uniq