diff options
Diffstat (limited to 'app/presenters/projects/settings/deploy_keys_presenter.rb')
-rw-r--r-- | app/presenters/projects/settings/deploy_keys_presenter.rb | 29 |
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 |