Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Validation of composite keywords (anyOf, oneOf, allOf) #82

Open
raoulkent opened this issue Sep 28, 2022 · 1 comment
Open

Validation of composite keywords (anyOf, oneOf, allOf) #82

raoulkent opened this issue Sep 28, 2022 · 1 comment

Comments

@raoulkent
Copy link

raoulkent commented Sep 28, 2022

In a project that I am working on, we have in our OASv3 API specification the following issue:
We wish to allow the input of some particular property to be a string with either the format date or date-time.

Currently, our specification looks as follows:

properties:
  foo:
    type: string
    oneOf:
    - format: date
    - format: date-time

This validates correctly, however it does not work with the tooling we use for our Node application (oas-tools). Looking at the source code it was clear that it needed modifying. Changing it to:

properties:
  foo:
    oneOf:
    - type: string
      format: date
    - type: string
      format: date-time

This works well with the tooling.

However, it is unclear to me whether one or both are valid from an OASv3 standpoint. From what I can gather from OASv3 data types. Quote: "Primitives have an optional modifier property: format."
If this is the case, should not the first example fail validation?

If possible, could you help me verify the validity of the two examples above? And if the above example is invalid (as it lacks the type) then there may be a need to change the validation logic.

Thank you.

@raoulkent
Copy link
Author

Of course, if there are issues with either the specification or oas-tools I will proceed by raising the issue with the correct group.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant