From 33d9c455b88eb3663a01f484e812b898534ba1eb Mon Sep 17 00:00:00 2001 From: Philip Molares Date: Sat, 16 Jan 2021 17:45:14 +0100 Subject: [PATCH] openapi: adds auth to all public api routes See: https://docs.nestjs.com/openapi/security Signed-off-by: Philip Molares --- src/api/public/me/me.controller.ts | 2 ++ src/api/public/media/media.controller.ts | 2 ++ src/api/public/monitoring/monitoring.controller.ts | 2 ++ src/api/public/notes/notes.controller.ts | 2 ++ src/main.ts | 4 ++++ 5 files changed, 12 insertions(+) diff --git a/src/api/public/me/me.controller.ts b/src/api/public/me/me.controller.ts index 1fadb6fe1..02e51e2af 100644 --- a/src/api/public/me/me.controller.ts +++ b/src/api/public/me/me.controller.ts @@ -25,7 +25,9 @@ import { NotesService } from '../../../notes/notes.service'; import { UserInfoDto } from '../../../users/user-info.dto'; import { UsersService } from '../../../users/users.service'; import { TokenAuthGuard } from '../../../auth/token-auth.guard'; +import { ApiSecurity } from '@nestjs/swagger'; +@ApiSecurity('token') @Controller('me') export class MeController { constructor( diff --git a/src/api/public/media/media.controller.ts b/src/api/public/media/media.controller.ts index 85e740ca1..3cc8b2471 100644 --- a/src/api/public/media/media.controller.ts +++ b/src/api/public/media/media.controller.ts @@ -28,7 +28,9 @@ import { ConsoleLoggerService } from '../../../logger/console-logger.service'; import { MediaService } from '../../../media/media.service'; import { MulterFile } from '../../../media/multer-file.interface'; import { TokenAuthGuard } from '../../../auth/token-auth.guard'; +import { ApiSecurity } from '@nestjs/swagger'; +@ApiSecurity('token') @Controller('media') export class MediaController { constructor( diff --git a/src/api/public/monitoring/monitoring.controller.ts b/src/api/public/monitoring/monitoring.controller.ts index 356ebee51..f32e39701 100644 --- a/src/api/public/monitoring/monitoring.controller.ts +++ b/src/api/public/monitoring/monitoring.controller.ts @@ -7,7 +7,9 @@ import { Controller, Get, UseGuards } from '@nestjs/common'; import { MonitoringService } from '../../../monitoring/monitoring.service'; import { TokenAuthGuard } from '../../../auth/token-auth.guard'; +import { ApiSecurity } from '@nestjs/swagger'; +@ApiSecurity('token') @Controller('monitoring') export class MonitoringController { constructor(private monitoringService: MonitoringService) {} diff --git a/src/api/public/notes/notes.controller.ts b/src/api/public/notes/notes.controller.ts index d2c63339c..5a1782eb3 100644 --- a/src/api/public/notes/notes.controller.ts +++ b/src/api/public/notes/notes.controller.ts @@ -24,7 +24,9 @@ import { NotesService } from '../../../notes/notes.service'; import { RevisionsService } from '../../../revisions/revisions.service'; import { MarkdownBody } from '../../utils/markdownbody-decorator'; import { TokenAuthGuard } from '../../../auth/token-auth.guard'; +import { ApiSecurity } from '@nestjs/swagger'; +@ApiSecurity('token') @Controller('notes') export class NotesController { constructor( diff --git a/src/main.ts b/src/main.ts index 1dbce7ac3..355f60621 100644 --- a/src/main.ts +++ b/src/main.ts @@ -26,6 +26,10 @@ async function bootstrap() { const swaggerOptions = new DocumentBuilder() .setTitle('HedgeDoc') .setVersion('2.0-dev') + .addSecurity('token', { + type: 'http', + scheme: 'bearer', + }) .build(); const document = SwaggerModule.createDocument(app, swaggerOptions); SwaggerModule.setup('apidoc', app, document);