@wepublish/api
Version:
API core for we.publish.
35 lines • 1.23 kB
JavaScript
;
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