Bug #3817

Updated by Peter Amstutz about 5 years ago

schema_controller.rb:87:
<pre>
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
</pre>

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 an object that are not intended for external consumption.

Related to this, it would be nice if 'api_accessible' included information in the discovery document indicating whether a field is read-only or writable. See also #3655

Back