Skip to content

Commit 7ac5cb8

Browse files
author
Aleksi Pekkala
committed
Annotate basicAuth security scheme in OpenAPI
1 parent fe28b49 commit 7ac5cb8

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

src/api/controllers/PetController.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { IsNotEmpty, IsNumber, IsUUID, ValidateNested } from 'class-validator';
22
import {
33
Authorized, Body, Delete, Get, JsonController, OnUndefined, Param, Post, Put
44
} from 'routing-controllers';
5-
import { ResponseSchema } from 'routing-controllers-openapi';
5+
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
66

77
import { PetNotFoundError } from '../errors/PetNotFoundError';
88
import { Pet } from '../models/Pet';
@@ -32,6 +32,7 @@ class CreatePetBody extends BasePet {
3232

3333
@Authorized()
3434
@JsonController('/pets')
35+
@OpenAPI({ security: [{ basicAuth: [] }] })
3536
export class PetController {
3637

3738
constructor(

src/api/controllers/UserController.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { IsEmail, IsNotEmpty, IsUUID, ValidateNested } from 'class-validator';
33
import {
44
Authorized, Body, Delete, Get, JsonController, OnUndefined, Param, Post, Put, Req
55
} from 'routing-controllers';
6-
import { ResponseSchema } from 'routing-controllers-openapi';
6+
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
77

88
import { UserNotFoundError } from '../errors/UserNotFoundError';
99
import { User } from '../models/User';
@@ -41,6 +41,7 @@ class CreateUserBody extends BaseUser {
4141

4242
@Authorized()
4343
@JsonController('/users')
44+
@OpenAPI({ security: [{ basicAuth: [] }] })
4445
export class UserController {
4546

4647
constructor(

src/loaders/swaggerLoader.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,21 @@ export const swaggerLoader: MicroframeworkLoader = (settings: MicroframeworkSett
2222
refPointerPrefix: '#/components/schemas/',
2323
});
2424

25-
const swaggerFile = routingControllersToSpec(getMetadataArgsStorage(), {}, {
26-
components: { schemas },
27-
});
25+
const swaggerFile = routingControllersToSpec(
26+
getMetadataArgsStorage(),
27+
{},
28+
{
29+
components: {
30+
schemas,
31+
securitySchemes: {
32+
basicAuth: {
33+
type: 'http',
34+
scheme: 'basic',
35+
},
36+
},
37+
},
38+
}
39+
);
2840

2941
// Add npm infos to the swagger doc
3042
swaggerFile.info = {

0 commit comments

Comments
 (0)