summaryrefslogtreecommitdiff
path: root/app/serializers
diff options
context:
space:
mode:
authorNick Thomas <nick@gitlab.com>2018-11-12 10:52:48 +0000
committerNick Thomas <nick@gitlab.com>2018-11-19 11:46:39 +0000
commitf1bc7b6eb5cb9beab55e4edac87cc5e0b7ceb069 (patch)
tree2e5aedd22e2fd05909c1e97c5bc52602feadc825 /app/serializers
parentb1b4c94484b0613a6a457e32218d4f62b9eb2029 (diff)
downloadgitlab-ce-f1bc7b6eb5cb9beab55e4edac87cc5e0b7ceb069.tar.gz
SSH public-key authentication for push mirroring
Diffstat (limited to 'app/serializers')
-rw-r--r--app/serializers/project_mirror_entity.rb8
-rw-r--r--app/serializers/remote_mirror_entity.rb15
2 files changed, 17 insertions, 6 deletions
diff --git a/app/serializers/project_mirror_entity.rb b/app/serializers/project_mirror_entity.rb
index 8aba244cd11..c13cc3276a7 100644
--- a/app/serializers/project_mirror_entity.rb
+++ b/app/serializers/project_mirror_entity.rb
@@ -3,11 +3,7 @@
class ProjectMirrorEntity < Grape::Entity
expose :id
- expose :remote_mirrors_attributes do |project|
- next [] unless project.remote_mirrors.present?
-
- project.remote_mirrors.map do |remote|
- remote.as_json(only: %i[id url enabled])
- end
+ expose :remote_mirrors_attributes, using: RemoteMirrorEntity do |project|
+ project.remote_mirrors
end
end
diff --git a/app/serializers/remote_mirror_entity.rb b/app/serializers/remote_mirror_entity.rb
new file mode 100644
index 00000000000..8835c6d4647
--- /dev/null
+++ b/app/serializers/remote_mirror_entity.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class RemoteMirrorEntity < Grape::Entity
+ expose :id
+ expose :url
+ expose :enabled
+
+ expose :auth_method
+ expose :ssh_known_hosts
+ expose :ssh_public_key
+
+ expose :ssh_known_hosts_fingerprints do |remote_mirror|
+ remote_mirror.ssh_known_hosts_fingerprints.as_json
+ end
+end