UNPKG

@wepublish/api

Version:
35 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OptionalAuthenticationGuard = void 0; const tslib_1 = require("tslib"); const passport_1 = require("@nestjs/passport"); const common_1 = require("@nestjs/common"); const graphql_1 = require("@nestjs/graphql"); /** * This Guard is to attach the user to the request */ class OptionalAuthenticationGuard extends (0, passport_1.AuthGuard)('session') { getRequest(context) { const ctx = graphql_1.GqlExecutionContext.create(context); return ctx.getContext().req; } canActivate(context) { const _super = Object.create(null, { canActivate: { get: () => super.canActivate } }); return tslib_1.__awaiter(this, void 0, void 0, function* () { try { yield _super.canActivate.call(this, context); } catch (e) { if (e instanceof common_1.UnauthorizedException) { return true; } throw e; } return true; }); } } exports.OptionalAuthenticationGuard = OptionalAuthenticationGuard; //# sourceMappingURL=optional-authentication.guard.js.map