Skip to content

Commit 6ae6901

Browse files
feat: store original OpenApi spec on entities
1 parent 6b36116 commit 6ae6901

14 files changed

+23
-0
lines changed

src/client/interfaces/OperationParameter.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import type { Model } from './Model';
2+
import { OpenApiParameter } from '../../openApi/v3/interfaces/OpenApiParameter';
3+
import { OpenApiRequestBody } from '../../openApi/v3/interfaces/OpenApiRequestBody';
24

35
export interface OperationParameter extends Model {
6+
spec: OpenApiParameter | OpenApiRequestBody;
47
in: 'path' | 'query' | 'header' | 'formData' | 'body' | 'cookie';
58
prop: string;
69
mediaType: string | null;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import type { Model } from './Model';
2+
import { OpenApiResponse } from '../../openApi/v3/interfaces/OpenApiResponse';
23

34
export interface OperationResponse extends Model {
5+
spec: OpenApiResponse;
46
in: 'response' | 'header';
57
code: number;
68
}

src/client/interfaces/Schema.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
import { OpenApiSchema } from '../../openApi/v3/interfaces/OpenApiSchema';
2+
13
export interface Schema {
4+
spec: OpenApiSchema;
25
isDefinition: boolean;
36
isReadOnly: boolean;
47
isRequired: boolean;

src/openApi/v3/parser/getModel.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const getModel = (
1616
name: string = ''
1717
): Model => {
1818
const model: Model = {
19+
spec: definition,
1920
name,
2021
export: 'interface',
2122
type: 'any',

src/openApi/v3/parser/getModelComposition.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ export const getModelComposition = (
6969

7070
if (properties.length) {
7171
composition.properties.push({
72+
spec: definition,
7273
name: 'properties',
7374
export: 'interface',
7475
type: 'any',

src/openApi/v3/parser/getModelProperties.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export const getModelProperties = (
3535
| 'enums'
3636
| 'properties'
3737
> = {
38+
spec: definition,
3839
name: escapeName(propertyName),
3940
description: property.description || null,
4041
deprecated: property.deprecated === true,

src/openApi/v3/parser/getOperationParameter.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { getType } from './getType';
1111

1212
export const getOperationParameter = (openApi: OpenApi, parameter: OpenApiParameter): OperationParameter => {
1313
const operationParameter: OperationParameter = {
14+
spec: parameter,
1415
in: parameter.in,
1516
prop: parameter.name,
1617
export: 'interface',

src/openApi/v3/parser/getOperationRequestBody.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { getType } from './getType';
88

99
export const getOperationRequestBody = (openApi: OpenApi, body: OpenApiRequestBody): OperationParameter => {
1010
const requestBody: OperationParameter = {
11+
spec: body,
1112
in: 'body',
1213
export: 'interface',
1314
prop: 'requestBody',

src/openApi/v3/parser/getOperationResponse.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export const getOperationResponse = (
1414
responseCode: number
1515
): OperationResponse => {
1616
const operationResponse: OperationResponse = {
17+
spec: response,
1718
in: 'response',
1819
name: '',
1920
code: responseCode,

src/openApi/v3/parser/getOperationResults.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export const getOperationResults = (operationResponses: OperationResponse[]): Op
2222

2323
if (!operationResults.length) {
2424
operationResults.push({
25+
spec: { description: '' },
2526
in: 'response',
2627
name: '',
2728
code: 200,

0 commit comments

Comments
 (0)