Merge branch 'pr/28'
[arvados.git] / services / api / app / controllers / arvados / v1 / schema_controller.rb
index c5b2bcf2f2d4a97f5bac9b18e6f0456707e59210..ba0f90f90c45d95925df0ae7892815d0b5c490b6 100644 (file)
@@ -1,9 +1,16 @@
 class Arvados::V1::SchemaController < ApplicationController
+  skip_before_filter :catch_redirect_hint
   skip_before_filter :find_objects_for_index
   skip_before_filter :find_object_by_uuid
+  skip_before_filter :load_filters_param
+  skip_before_filter :load_limit_offset_order_params
+  skip_before_filter :load_read_auths
+  skip_before_filter :load_where_param
   skip_before_filter :render_404_if_no_object
   skip_before_filter :require_auth_scope
 
+  include DbCurrentTime
+
   def index
     expires_in 24.hours, public: true
     discovery = Rails.cache.fetch 'arvados_v1_rest_discovery' do
@@ -15,11 +22,12 @@ class Arvados::V1::SchemaController < ApplicationController
         name: "arvados",
         version: "v1",
         revision: "20131114",
-        source_version: (Rails.application.config.source_version ? Rails.application.config.source_version : "No version information available") + (Rails.application.config.local_modified ? Rails.application.config.local_modified.to_s : ''),
-        generatedAt: Time.now.iso8601,
+        source_version: AppVersion.hash,
+        generatedAt: db_current_time.iso8601,
         title: "Arvados API",
         description: "The API to interact with Arvados.",
         documentationLink: "http://doc.arvados.org/api/index.html",
+        defaultCollectionReplication: Rails.configuration.default_collection_replication,
         protocol: "rest",
         baseUrl: root_url + "arvados/v1/",
         basePath: "/arvados/v1/",
@@ -27,6 +35,8 @@ class Arvados::V1::SchemaController < ApplicationController
         servicePath: "arvados/v1/",
         batchPath: "batch",
         defaultTrashLifetime: Rails.application.config.default_trash_lifetime,
+        blobSignatureTtl: Rails.application.config.blob_signature_ttl,
+        maxRequestSize: Rails.application.config.max_request_size,
         parameters: {
           alt: {
             type: "string",
@@ -258,13 +268,7 @@ class Arvados::V1::SchemaController < ApplicationController
               path: "#{k.to_s.underscore.pluralize}",
               httpMethod: "POST",
               description: "Create a new #{k.to_s}.",
-              parameters: {
-                ensure_unique_name: {
-                  type: "boolean",
-                  description: "Adjust name to ensure uniqueness instead of returning an error on (owner_uuid, name) collision.",
-                  location: "query"
-                }
-              },
+              parameters: {},
               request: {
                 required: true,
                 properties: {
@@ -397,6 +401,6 @@ class Arvados::V1::SchemaController < ApplicationController
       end
       discovery
     end
-    render json: discovery
+    send_json discovery
   end
 end