From 95961c5a14d07c79ffae0f0f36b58ca7c3ea521b Mon Sep 17 00:00:00 2001 From: Joseph Ditton Date: Fri, 3 Dec 2021 14:46:44 -0700 Subject: auth guard update --- server/providers/util/guard.util.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 server/providers/util/guard.util.ts (limited to 'server/providers/util') diff --git a/server/providers/util/guard.util.ts b/server/providers/util/guard.util.ts new file mode 100644 index 0000000..64d4627 --- /dev/null +++ b/server/providers/util/guard.util.ts @@ -0,0 +1,17 @@ +import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common'; +import { Reflector } from '@nestjs/core'; +import { SKIP_KEY } from 'server/decorators/skip.decorator'; +import { Class } from 'server/dto/class.dto'; + +@Injectable() +export class GuardUtil { + constructor(private reflector: Reflector) {} + + public shouldSkip(guard: CanActivate, context: ExecutionContext) { + const skippedGuards = this.reflector.getAllAndOverride[]>(SKIP_KEY, [ + context.getHandler(), + context.getClass(), + ]); + return !!(skippedGuards && skippedGuards.find((SkippedGuard) => guard instanceof SkippedGuard)); + } +} -- cgit v1.2.3-70-g09d2