15954: Merge branch 'master'
[arvados.git] / services / api / app / controllers / arvados / v1 / keep_services_controller.rb
index 5c0375fc18002197e0ce262a058e46589980e9fc..c6e8894352f4f5f147c1d8e7f7d4c6d7db331aab 100644 (file)
@@ -1,9 +1,25 @@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
 class Arvados::V1::KeepServicesController < ApplicationController
 
+  skip_before_action :find_object_by_uuid, only: :accessible
+  skip_before_action :render_404_if_no_object, only: :accessible
+  skip_before_action :require_auth_scope, only: :accessible
+
   def find_objects_for_index
-    # all users can list all keep disks
-    @objects = model_class.where('1=1')
+    # all users can list all keep services
+    @objects = KeepService.all
     super
   end
 
+  def accessible
+    if request.headers['X-External-Client'] == '1'
+      @objects = KeepService.where('service_type=?', 'proxy')
+    else
+      @objects = KeepService.where('service_type<>?', 'proxy')
+    end
+    render_list
+  end
 end