Skip to content
This repository was archived by the owner on Dec 10, 2021. It is now read-only.

Commit b2b32f8

Browse files
committed
Add support for servers
1 parent 8a19881 commit b2b32f8

File tree

4 files changed

+37
-3
lines changed

4 files changed

+37
-3
lines changed

Diff for: src/DefinitionGenerator.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ export class DefinitionGenerator {
4242
version = uuid.v4(),
4343
models,
4444
security,
45-
securitySchemes
45+
securitySchemes,
46+
servers
4647
} = this.config;
4748

4849
_.merge(this.definition, {
@@ -62,6 +63,10 @@ export class DefinitionGenerator {
6263
this.definition.components.securitySchemes = securitySchemes;
6364
}
6465

66+
if (servers) {
67+
this.definition.servers = servers;
68+
}
69+
6570
this.definition.components.schemas = await parseModels(models, this.root);
6671

6772
return this;
@@ -268,7 +273,7 @@ export class DefinitionGenerator {
268273
schema: {
269274
$ref: `#/components/schemas/${
270275
documentationConfig.requestModels[requestModelType]
271-
}`
276+
}`
272277
}
273278
};
274279

Diff for: src/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export interface DefinitionConfig {
1616
version?: string;
1717
securitySchemes: OpenAPIV3.SecuritySchemeObject;
1818
security: Array<OpenAPIV3.SecurityRequirementObject>;
19+
servers: Array<OpenAPIV3.ServerObject>;
1920
models: Array<Model>;
2021
}
2122

Diff for: test/project/openapi.yml

+15-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ components:
198198
info:
199199
title: ''
200200
description: ''
201-
version: 6e48be1a-d9be-41ef-95eb-41ffad58eac3
201+
version: dfdb63df-5e16-4df6-a915-3e64601a7a2c
202202
paths:
203203
'/create/{username}':
204204
post:
@@ -252,3 +252,17 @@ security:
252252
- bearerAuth:
253253
- read
254254
- write
255+
servers:
256+
- url: 'https://{customerId}.saas-app.com:{port}/v2'
257+
description: Production server (uses live data)
258+
variables:
259+
customerId:
260+
default: demo
261+
description: Customer ID assigned by the service provider
262+
port:
263+
enum:
264+
- '443'
265+
- '8443'
266+
default: '443'
267+
- url: 'https://sandbox-api.example.com:8443/v1'
268+
description: Sandbox server (uses test data)

Diff for: test/project/serverless.doc.yml

+14
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,20 @@ documentation:
1414
- bearerAuth:
1515
- read
1616
- write
17+
servers:
18+
- url: https://{customerId}.saas-app.com:{port}/v2
19+
description: Production server (uses live data)
20+
variables:
21+
customerId:
22+
default: demo
23+
description: Customer ID assigned by the service provider
24+
port:
25+
enum:
26+
- "443"
27+
- "8443"
28+
default: "443"
29+
- url: https://sandbox-api.example.com:8443/v1
30+
description: Sandbox server (uses test data)
1731
models:
1832
- name: ErrorResponse
1933
description: This is an error

0 commit comments

Comments
 (0)