Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

george42-ctds
Copy link
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

Copy link

github-actions bot commented Feb 6, 2025

The style in this PR agrees with black. ✔️

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

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