import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; import { Observable } from 'rxjs'; @Injectable() export class MyselfGuard implements CanActivate { constructor(private reflector: Reflector) {} canActivate( context: ExecutionContext, ): boolean | Promise | Observable { const roles = this.reflector.get('roles', context.getHandler()); const request = context.switchToHttp().getRequest(); const params = request.params; const user = request.user; if (params.userId === '' + user.userId) { return true; } else { return false; } } }