Bug #3817
open[API] Discovery document schema does not include generated fields like job dependencies
Description
schema_controller.rb:87:
object_properties = {} k.columns. select { |col| col.name != 'id' }. collect do |col| if k.serialized_attributes.has_key? col.name object_properties[col.name] = { type: k.serialized_attributes[col.name].object_class.to_s } else object_properties[col.name] = { type: col.type } end end
This is introspecting over the internal SQL columns known to ActiveRecord, rather than the public data model declared in the 'api_accessible' stanzas of each subclass of ArvadosModel. This results in bugs such as Workbench recognizing fields on the internal SQL schema that are not intended for external consumption.
Fixing this is probably a prerequisite to #3818
Updated by Peter Amstutz over 10 years ago
- Subject changed from Discovery document generates resource description based on ActiveRecord columns, not api_response. to [API] Discovery document generates resource description based on ActiveRecord columns, not api_response.
- Description updated (diff)
- Category set to API
Updated by Peter Amstutz over 10 years ago
- Target version set to Arvados Future Sprints
Updated by Tom Clegg over 10 years ago
Note - even if the discovery doc uses api_response, clients will still learn about fields that are not returned to them in API responses, as long as there are distinct api_response templates used depending on context (e.g., whether the current user is_admin).
The existence of this bug report suggests that an instance has been discovered where the schema advertises an attribute that isn't in API responses. If so, what is the model/attribute?
Updated by Tom Clegg over 10 years ago
- Subject changed from [API] Discovery document generates resource description based on ActiveRecord columns, not api_response. to [API] Discovery document schema does not include generated fields like job dependencies
- Story points set to 1.0
Updated by Ward Vandewege over 3 years ago
- Target version deleted (
Arvados Future Sprints)
Updated by Brett Smith almost 2 years ago
- Related to Feature #19929: Improve documentation in the discovery document added