From 0833a38d69bdb03cf4585a8e7ea51eaa742d4c9e Mon Sep 17 00:00:00 2001 From: Jeremy Yin Date: Thu, 20 Jun 2019 22:17:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=92=88=E5=AF=B9User=E8=A3=85=E9=A5=B0?= =?UTF-8?q?=E5=99=A8=E8=8E=B7=E5=8F=96=E6=95=B0=E6=8D=AE=E6=9B=B4=E8=BF=9B?= =?UTF-8?q?=E4=B8=80=E6=AD=A5=EF=BC=8C=E7=9B=B4=E6=8E=A5=E6=8B=BFuser?= =?UTF-8?q?=E9=87=8C=E9=9D=A2=E7=9A=84=E6=95=B0=E6=8D=AE=EF=BC=8C=E7=BB=99?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E5=AD=97=E6=AE=B5=E7=BB=99=E5=AE=83=EF=BC=8C?= =?UTF-8?q?=E8=AE=A9=E5=AE=83=E5=B8=AE=E5=BF=99=E6=8B=BF=E4=B8=80=E4=B8=8B?= =?UTF-8?q?=EF=BC=8C=E8=BF=99=E6=A0=B7=E5=B0=B1=E4=B8=8D=E7=94=A8=E8=87=AA?= =?UTF-8?q?=E5=B7=B1=E6=8B=BF=E4=BA=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/decorators/user.decorator.ts | 7 +++++++ src/modules/posts/posts.controller.ts | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 src/core/decorators/user.decorator.ts diff --git a/src/core/decorators/user.decorator.ts b/src/core/decorators/user.decorator.ts new file mode 100644 index 0000000..5dd8faf --- /dev/null +++ b/src/core/decorators/user.decorator.ts @@ -0,0 +1,7 @@ +import { createParamDecorator } from '@nestjs/common' + +export const User = createParamDecorator((data, req) => { + console.log('data:', data) + + return req.user[data] +}) \ No newline at end of file diff --git a/src/modules/posts/posts.controller.ts b/src/modules/posts/posts.controller.ts index 46994d6..47674d5 100644 --- a/src/modules/posts/posts.controller.ts +++ b/src/modules/posts/posts.controller.ts @@ -4,6 +4,7 @@ import { DemoService } from './providers/demo/demo.service' import { DemoFilter } from '../../core/filters/demo.filter' import { DemoAuthGuard } from '../../core/guards/demo-auth.guard' import { Roles } from '../../core/decorators/roles.decorator' +import { User } from '../../core/decorators/user.decorator' import { LoggingInterceptor } from '../../core/interceptors/logging.interceptor' import { TransformInterceptor } from '../../core/interceptors/transform.interceptor' import { ErrorsInterceptor } from '../../core/interceptors/errors.interceptor' @@ -39,7 +40,10 @@ export class PostsController { // @SetMetadata('roles', ['member', 89]) // @Roles('member', 'tester') @Roles(...['member', 'tester']) - store(@Body() post: CreatePostDto) { + store(@Body() post: CreatePostDto, @User('roles') roles) { + console.log('roles:', roles) + + // throw new HttpException('没有权限!', HttpStatus.FORBIDDEN) // throw new ForbiddenException('没有权限!') this.demoService.create(post);