@tigthor/kokocrypt
Version:
Enhanced Fortress Edition - Secure, quantum-resistant, high-performance encryption package
54 lines • 3.08 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var KokoEncryptionModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KokoEncryptionModule = void 0;
const common_1 = require("@nestjs/common");
const config_1 = require("@nestjs/config");
const crypto_service_1 = require("./core/crypto.service");
const replay_guard_1 = require("./core/replay.guard");
const derive_session_middleware_1 = require("./http/derive-session.middleware");
const decrypt_middleware_1 = require("./http/decrypt.middleware");
const encrypt_interceptor_1 = require("./http/encrypt.interceptor");
const handshake_controller_1 = require("./http/handshake.controller");
const env_provider_1 = require("./providers/env.provider");
const enhanced_env_provider_1 = require("./providers/enhanced-env.provider");
const key_provider_1 = require("./providers/key-provider");
let KokoEncryptionModule = KokoEncryptionModule_1 = class KokoEncryptionModule {
static forRoot(opts) {
var _a;
const provider = (_a = opts === null || opts === void 0 ? void 0 : opts.provider) !== null && _a !== void 0 ? _a : ((opts === null || opts === void 0 ? void 0 : opts.enhanced) ? new enhanced_env_provider_1.EnhancedEnvKeyProvider() : new env_provider_1.EnvKeyProvider());
const configService = new config_1.ConfigService();
const crypto = new crypto_service_1.CryptoService(provider, configService);
return {
module: KokoEncryptionModule_1,
providers: [
{ provide: key_provider_1.KeyProvider, useValue: provider },
{ provide: crypto_service_1.CryptoService, useValue: crypto },
{ provide: replay_guard_1.ReplayGuard, useClass: replay_guard_1.ReplayGuard },
{ provide: 'APP_INTERCEPTOR', useClass: encrypt_interceptor_1.EncryptInterceptor },
],
exports: [crypto_service_1.CryptoService, key_provider_1.KeyProvider],
};
}
configure(consumer) {
consumer
.apply(derive_session_middleware_1.DeriveSessionMiddleware)
.forRoutes('*')
.apply(decrypt_middleware_1.DecryptMiddleware)
.forRoutes('*');
}
};
exports.KokoEncryptionModule = KokoEncryptionModule;
exports.KokoEncryptionModule = KokoEncryptionModule = KokoEncryptionModule_1 = __decorate([
(0, common_1.Global)(),
(0, common_1.Module)({
controllers: [handshake_controller_1.HandshakeController],
})
], KokoEncryptionModule);
//# sourceMappingURL=module.js.map