Redfish-Tools icon indicating copy to clipboard operation
Redfish-Tools copied to clipboard

doc-generator - profile mode Link properties include entire schema

Open jautor opened this issue 2 years ago • 1 comments

In profile mode (and this is unique to profile mode), a requirement placed on a Links property will render the entire schema of the link type, instead of just showing the @odata.id for that reference. This is caused by the default processing of JSON objects in profile mode. Since a link property is an object, it gets treated as such by the doc-generator. Since a link will have no PropertyRequirements for the embedded object, it is treated as any other JSON object with no further requirements specified in the profile - that is, an object with no requirements is treated as if all embedded properties are "Mandatory". This causes the doc-generator to therefore include the entire schema that is the target of the link.

jautor avatar May 31 '23 00:05 jautor

Adding a PropertyRequirements section to a Link property to specify @odata.id as a mandatory property changes the output such that only the schema-required properties are listed (Id, 'Name, @odata.typeand@odata.id`).

This also only seems to apply to Links to schemas that are mentioned in the profile. Links to schema types with no requirements shown in the profile behave as expected.

jautor avatar May 31 '23 01:05 jautor