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

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

Open
@raoulkent

Description

@raoulkent

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions