Description of the issue
We want to apply the following major changes to the schema:
- Add the keyword
unevaluatedProperties to the root of the schemas we generate so that no extra properties are allowed.
- To avoid getting fields with empty strings (e.g.
{'sequencing_sample_id': ''}), add a minLength to the options for the properties.
- snake_case all properties when possible (enforce style, but don't break the existing database)
- Add
dependentRequired rule to enforce the main property when an if_x_other_specify is present
- Add rules to enforce if
other value, then explaining property must be set
Action Items
Description of the issue
We want to apply the following
majorchanges to the schema:unevaluatedPropertiesto the root of the schemas we generate so that no extra properties are allowed.{'sequencing_sample_id': ''}), add aminLengthto the options for the properties.dependentRequiredrule to enforce the main property when anif_x_other_specifyis presentothervalue, then explaining property must be setAction Items
build.pyso that it generates the schemas with the keywordunevaluatedPropertiesand sets it tofalseoptioncolumndepends_onbuild.pyto pick on newdepends_oncolumn to generate dependent fields