Project

General

Profile

Bug #3817

Updated by Peter Amstutz over 9 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