Skip to content

Making fields required during use of allOf #275

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

Open
brookjordan opened this issue Jun 23, 2021 · 0 comments
Open

Making fields required during use of allOf #275

brookjordan opened this issue Jun 23, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@brookjordan
Copy link
Contributor

Sometime we have data structures which can be inherited in every way except for whether or not parts of them are required. For example, if you POST a request then this may have empty fields filled in with defaults, and the returned data could be always fully returned. Having required work on parts from an schema while using anyOf would be fantastic, and appears to be intended:
OAI/OpenAPI-Specification#1870

Example:

schemas:
  UserCreate:
    type: object
    required:
    - email
    properties:
      name: string
      email: string
      image: string
  UserResponse:
    allOf:
    - $ref: '#/components/schemas/UserCreate'
    - type: object
      required:
      - id
      - image
      properties:
        id: string

Right now this outputs:

export interface UserCreate {
  name?: string;
  email: string;
  image?: string;
}

export type UserResponse = UserCreate & {
  id: string;
}

But I would expect something more like:

export interface UserCreate {
  name?: string;
  email: string;
  image?: string;
}

export type UserResponse = UserCreate & {
  id: string;
  image: string;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants