Skip to content

Fix to disallow additional properties in nested fields, eg, constraints - #21

Draft
george42-ctds wants to merge 1 commit into
masterfrom
fix/set-additional-properties-false
Draft

Fix to disallow additional properties in nested fields, eg, constraints#21
george42-ctds wants to merge 1 commit into
masterfrom
fix/set-additional-properties-false

Conversation

@george42-ctds

Copy link
Copy Markdown
Collaborator

The current fields-level specification of

"additionalProperties": false,

applies to a single level in our version of jsonschema. In newer versions the specification automatically applies to nested levels. In our version it does not apply to sub-levels such as constraints.

In the above, additionalProperties means any properties present in the file that are not part of the schema.

Additional properties under constraints are not checked in the validation process. They simply get passed through in the extraction process. A file with constraints.enumLabels and constraints.foo does not raise an error. The columns get passed through and they appear in converted files.

If we want to disallow any additionalProperties in sub-levels (eg, constraints, StandardMappings) then we need to insert specifications in the sub-levels.

This branch has additional specifications in the sub-levels in the schema for json. Files with constraints.enumLabels and constraints.foo will raise an error and will not generate converted output files.

New Features

Breaking Changes

Bug Fixes

  • Explicitly disallow additional properties under nested fields

Improvements

Dependency updates

Deployment changes

@github-actions

github-actions Bot commented Feb 6, 2025

Copy link
Copy Markdown

The style in this PR agrees with black. ✔️

This formatting comment was generated automatically by a script in uc-cdis/wool.

@george42-ctds
george42-ctds marked this pull request as draft July 21, 2025 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant