X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b77abbed6a747e46b98b1e8478158b27ff320151..0df5f0feeced5bff0adfb806dae2d3811257827f:/services/api/app/controllers/arvados/v1/schema_controller.rb diff --git a/services/api/app/controllers/arvados/v1/schema_controller.rb b/services/api/app/controllers/arvados/v1/schema_controller.rb index adac9960c4..8ff2a97c46 100644 --- a/services/api/app/controllers/arvados/v1/schema_controller.rb +++ b/services/api/app/controllers/arvados/v1/schema_controller.rb @@ -3,15 +3,15 @@ # SPDX-License-Identifier: AGPL-3.0 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 + skip_before_action :catch_redirect_hint + skip_before_action :find_objects_for_index + skip_before_action :find_object_by_uuid + skip_before_action :load_filters_param + skip_before_action :load_limit_offset_order_params + skip_before_action :load_read_auths + skip_before_action :load_where_param + skip_before_action :render_404_if_no_object + skip_before_action :require_auth_scope include DbCurrentTime @@ -33,6 +33,8 @@ class Arvados::V1::SchemaController < ApplicationController version: "v1", revision: "20131114", source_version: AppVersion.hash, + sourceVersion: AppVersion.hash, # source_version should be deprecated in the future + packageVersion: AppVersion.package_version, generatedAt: db_current_time.iso8601, title: "Arvados API", description: "The API to interact with Arvados.", @@ -48,6 +50,7 @@ class Arvados::V1::SchemaController < ApplicationController defaultTrashLifetime: Rails.application.config.default_trash_lifetime, blobSignatureTtl: Rails.application.config.blob_signature_ttl, maxRequestSize: Rails.application.config.max_request_size, + maxItemsPerResponse: Rails.application.config.max_items_per_response, dockerImageFormats: Rails.application.config.docker_image_formats, crunchLogBytesPerEvent: Rails.application.config.crunch_log_bytes_per_event, crunchLogSecondsBetweenEvents: Rails.application.config.crunch_log_seconds_between_events, @@ -56,6 +59,8 @@ class Arvados::V1::SchemaController < ApplicationController crunchLogThrottleLines: Rails.application.config.crunch_log_throttle_lines, crunchLimitLogBytesPerJob: Rails.application.config.crunch_limit_log_bytes_per_job, crunchLogPartialLineThrottlePeriod: Rails.application.config.crunch_log_partial_line_throttle_period, + crunchLogUpdatePeriod: Rails.application.config.crunch_log_update_period, + crunchLogUpdateSize: Rails.application.config.crunch_log_update_size, remoteHosts: Rails.configuration.remote_hosts, remoteHostsViaDNS: Rails.configuration.remote_hosts_via_dns, websocketUrl: Rails.application.config.websocket_address, @@ -129,6 +134,14 @@ class Arvados::V1::SchemaController < ApplicationController object_properties[col.name] = { type: k.serialized_attributes[col.name].object_class.to_s } + elsif k.attribute_types[col.name].is_a? JsonbType::Hash + object_properties[col.name] = { + type: Hash.to_s + } + elsif k.attribute_types[col.name].is_a? JsonbType::Array + object_properties[col.name] = { + type: Array.to_s + } else object_properties[col.name] = { type: col.type