Some notes based on a quick chat with @srishakatux as she tries to use the /api/tools/ data in the frontend:
- Normalize all the fields that might be input as a bare value or an array of values to be arrays of values on the way out. There are quite a number of "oneOf" fields in the toolinfo json schema spec that need this treatment. Basically we want to make it as easy as possible to create a valid toolinfo.json record for submitting, and we also want to make it as easy as possible to consume the tool data returned from the API. The hard work should stay in the backend system as much as possible.
- Fix the serializers to transform things stored in JSONFields in the database into proper JSON in the output rather than returning strings encoding JSON data for the consumer to transform.
- The backend should return a usable image url along with the File page input value for icon (and any other similar fields we may add to the spec in the future).
- Pre-process the "keywords" value to split on commas and store & return as an array of strings.