acacode / acacode/swagger-typescript-api

Making fields required during use of allOf

Aberta
#275 0 comentários 16 reações 0 responsáveis Ver no GitHub
enhancement
Linguagem predominante
TypeScript
Estrelas
4.1k
Forks
436
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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:
https://github.com/OAI/OpenAPI-Specification/issues/1870

**Example:**
```yml
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:
```ts
export interface UserCreate {
name?: string;
email: string;
image?: string;
}

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

But I would expect something more like:
```ts
export interface UserCreate {
name?: string;
email: string;
image?: string;
}

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

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.