UNPKG

tsoa-custom-decorators

Version:

Build swagger-compliant REST APIs using TypeScript and Node

32 lines (27 loc) 1.19 kB
import { Get } from '../../../src/decorators/methods'; import { Request } from '../../../src/decorators/parameter'; import { Response } from '../../../src/decorators/response'; import { Route } from '../../../src/decorators/route'; import { Security } from '../../../src/decorators/security'; import { UserResponseModel, ErrorResponseModel } from '../../fixtures/testModel'; @Route('SecurityTest') export class SecurityTestController { @Response<ErrorResponseModel>('default', 'Unexpected error') @Security('api_key') @Get() public async GetWithApi(@Request() request: any): Promise<UserResponseModel> { return Promise.resolve(request.user); } @Response<ErrorResponseModel>('default', 'Unexpected error') @Security('api_key') @Get('Koa') public async GetWithApiForKoa(@Request() ctx: any): Promise<UserResponseModel> { return Promise.resolve(ctx.request.user); } @Response<ErrorResponseModel>('404', 'Not Fount') @Security('tsoa_auth', ['write:pets', 'read:pets']) @Get('Oauth') public async GetWithSecurity(@Request() request: any): Promise<UserResponseModel> { return Promise.resolve(request.user); } }