encrypted-nestjs
Version:
NestJS with AES Encryption
23 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EncryptedRouteInterceptor = void 0;
var operators_1 = require("rxjs/operators");
var encrypted_fetcher_1 = require("encrypted-fetcher");
var route_error_1 = require("./route_error");
var EncryptedRouteInterceptor = (function () {
function EncryptedRouteInterceptor() {
}
EncryptedRouteInterceptor.prototype.intercept = function (ctx, next) {
var param = Reflect.getMetadata("encryption:password", ctx.getClass());
return next.handle().pipe((0, operators_1.map)(function (value) {
var content = JSON.stringify(value);
var password = (param instanceof Function)
? param(content, true)
: param;
return encrypted_fetcher_1.AesPkcs5.encode(content, password.key, password.iv);
}), (0, operators_1.catchError)(function (err) { return (0, route_error_1.route_error)(err); }));
};
return EncryptedRouteInterceptor;
}());
exports.EncryptedRouteInterceptor = EncryptedRouteInterceptor;
//# sourceMappingURL=EncryptedRouteInterceptor.js.map