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

Commit ee09026

Browse files
committed
Add support for security
1 parent 751372e commit ee09026

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/DefinitionGenerator.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,28 @@ export class DefinitionGenerator {
4040
title = "",
4141
description = "",
4242
version = uuid.v4(),
43-
models
43+
models,
44+
security,
45+
securitySchemes
4446
} = this.config;
4547

4648
_.merge(this.definition, {
4749
openapi: this.version,
4850
info: { title, description, version },
4951
paths: {},
5052
components: {
51-
schemas: {},
52-
securitySchemes: {}
53+
schemas: {}
5354
}
5455
});
5556

57+
if (security) {
58+
this.definition.security = security;
59+
}
60+
61+
if (securitySchemes) {
62+
this.definition.components.securitySchemes = securitySchemes;
63+
}
64+
5665
this.definition.components.schemas = await parseModels(models, this.root);
5766

5867
return this;

src/types.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { JSONSchema7 } from "json-schema";
2+
import { OpenAPIV3 } from "openapi-types";
23

34
export interface Model {
45
name: string;
@@ -13,6 +14,8 @@ export interface DefinitionConfig {
1314
title: string;
1415
description: string;
1516
version?: string;
17+
securitySchemes: OpenAPIV3.SecuritySchemeObject;
18+
security: Array<OpenAPIV3.SecurityRequirementObject>;
1619
models: Array<Model>;
1720
}
1821

0 commit comments

Comments
 (0)