import { applyDecorators, SetMetadata, UseGuards } from '@nestjs/common'; import { AuthGuard } from '@nestjs/passport'; import { ApiBearerAuth, ApiUnauthorizedResponse } from '@nestjs/swagger'; import { MyselfGuard } from './myself.guard'; // export const Myself = (...args: string[]) => SetMetadata('myself', args); export function Myself(...roles: number[]) { return applyDecorators( SetMetadata('roles', roles), UseGuards(AuthGuard('jwt'), MyselfGuard), ApiBearerAuth(), ApiUnauthorizedResponse({ description: 'Unauthorized"' }), ); }