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_select_param
skip_before_action :load_read_auths
skip_before_action :load_where_param
skip_before_action :render_404_if_no_object
id: "arvados:v1",
name: "arvados",
version: "v1",
- revision: "20131114",
+ # format is YYYYMMDD, must be fixed width (needs to be lexically
+ # sortable), updated manually, may be used by clients to
+ # determine availability of API server features.
+ revision: "20220510",
source_version: AppVersion.hash,
sourceVersion: AppVersion.hash, # source_version should be deprecated in the future
packageVersion: AppVersion.package_version,
auth: {
oauth2: {
scopes: {
- "https://api.curoverse.com/auth/arvados" => {
+ "https://api.arvados.org/auth/arvados" => {
description: "View and manage objects"
},
- "https://api.curoverse.com/auth/arvados.readonly" => {
+ "https://api.arvados.org/auth/arvados.readonly" => {
description: "View objects"
}
}
"$ref" => k.to_s
},
scopes: [
- "https://api.curoverse.com/auth/arvados",
- "https://api.curoverse.com/auth/arvados.readonly"
+ "https://api.arvados.org/auth/arvados",
+ "https://api.arvados.org/auth/arvados.readonly"
]
},
index: {
"$ref" => "#{k.to_s}List"
},
scopes: [
- "https://api.curoverse.com/auth/arvados",
- "https://api.curoverse.com/auth/arvados.readonly"
+ "https://api.arvados.org/auth/arvados",
+ "https://api.arvados.org/auth/arvados.readonly"
]
},
create: {
"$ref" => k.to_s
},
scopes: [
- "https://api.curoverse.com/auth/arvados"
+ "https://api.arvados.org/auth/arvados"
]
},
update: {
"$ref" => k.to_s
},
scopes: [
- "https://api.curoverse.com/auth/arvados"
+ "https://api.arvados.org/auth/arvados"
]
},
delete: {
"$ref" => k.to_s
},
scopes: [
- "https://api.curoverse.com/auth/arvados"
+ "https://api.arvados.org/auth/arvados"
]
}
}
"$ref" => (action == 'index' ? "#{k.to_s}List" : k.to_s)
},
scopes: [
- "https://api.curoverse.com/auth/arvados"
+ "https://api.arvados.org/auth/arvados"
]
}
route.segment_keys.each do |key|
end
end
end
+
+ # The 'replace_files' option is implemented in lib/controller,
+ # not Rails -- we just need to add it here so discovery-aware
+ # clients know how to validate it.
+ [:create, :update].each do |action|
+ discovery[:resources]['collections'][:methods][action][:parameters]['replace_files'] = {
+ type: 'object',
+ description: 'Files and directories to initialize/replace with content from other collections.',
+ required: false,
+ location: 'query',
+ properties: {},
+ additionalProperties: {type: 'string'},
+ }
+ end
+
+ discovery[:resources]['configs'] = {
+ methods: {
+ get: {
+ id: "arvados.configs.get",
+ path: "config",
+ httpMethod: "GET",
+ description: "Get public config",
+ parameters: {
+ },
+ parameterOrder: [
+ ],
+ response: {
+ },
+ scopes: [
+ "https://api.arvados.org/auth/arvados",
+ "https://api.arvados.org/auth/arvados.readonly"
+ ]
+ },
+ }
+ }
+
+ discovery[:resources]['vocabularies'] = {
+ methods: {
+ get: {
+ id: "arvados.vocabularies.get",
+ path: "vocabulary",
+ httpMethod: "GET",
+ description: "Get vocabulary definition",
+ parameters: {
+ },
+ parameterOrder: [
+ ],
+ response: {
+ },
+ scopes: [
+ "https://api.arvados.org/auth/arvados",
+ "https://api.arvados.org/auth/arvados.readonly"
+ ]
+ },
+ }
+ }
+
+ discovery[:resources]['sys'] = {
+ methods: {
+ get: {
+ id: "arvados.sys.trash_sweep",
+ path: "sys/trash_sweep",
+ httpMethod: "POST",
+ description: "apply scheduled trash and delete operations",
+ parameters: {
+ },
+ parameterOrder: [
+ ],
+ response: {
+ },
+ scopes: [
+ "https://api.arvados.org/auth/arvados",
+ "https://api.arvados.org/auth/arvados.readonly"
+ ]
+ },
+ }
+ }
+
Rails.configuration.API.DisabledAPIs.each do |method, _|
ctrl, action = method.to_s.split('.', 2)
discovery[:resources][ctrl][:methods].delete(action.to_sym)