@nxtoai/jwtette
Version:
JWT authentication package for NxtoAI microservices
73 lines • 3.76 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 JwtetteModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.JwtetteModule = void 0;
const common_1 = require("@nestjs/common");
const jwt_1 = require("@nestjs/jwt");
const config_1 = require("@nestjs/config");
const jwt_helper_1 = require("./jwt.helper");
const auth_middleware_1 = require("./auth.middleware");
const aag_1 = require("@nxtoai/aag");
const gati_1 = require("@nxtoai/gati");
const jwt_service_1 = require("./jwt.service");
let JwtetteModule = JwtetteModule_1 = class JwtetteModule {
static forRoot(options = {}) {
const aagOptions = {
level: process.env.NODE_ENV === 'production' ? 'info' : 'debug',
filename: process.env.LOG_FILE || 'logs/app.log',
debugUsers: process.env.LOGETTE_DEBUG_USERS?.split(',') || [],
};
return {
module: JwtetteModule_1,
imports: [
config_1.ConfigModule,
jwt_1.JwtModule.registerAsync({
imports: [config_1.ConfigModule],
useFactory: (configService) => ({
secret: options.secret || configService.get('JWT_SECRET'),
signOptions: { expiresIn: options.expiresIn || '24h' },
}),
inject: [config_1.ConfigService],
}),
aag_1.AagModule.forRoot(aagOptions),
gati_1.GatiModule.forRoot({
hosts: options.aerospike?.hosts || [process.env.AEROSPIKE_HOSTS || 'localhost'],
namespace: options.aerospike?.namespace || process.env.AEROSPIKE_NAMESPACE || 'test',
port: options.aerospike?.port || parseInt(process.env.AEROSPIKE_PORT || '3000', 10),
timeout: options.aerospike?.timeout || parseInt(process.env.AEROSPIKE_TIMEOUT || '1000', 10),
maxSockets: options.aerospike?.maxSockets || parseInt(process.env.AEROSPIKE_MAX_SOCKETS || '100', 10),
maxConnsPerNode: options.aerospike?.maxConnsPerNode || parseInt(process.env.AEROSPIKE_MAX_CONNS || '100', 10),
user: options.aerospike?.user || process.env.AEROSPIKE_USER,
password: options.aerospike?.password || process.env.AEROSPIKE_PASSWORD
}),
],
providers: [
{
provide: 'JWTETTE_MODULE_OPTIONS',
useValue: options,
},
{
provide: 'AAG_OPTIONS',
useValue: aagOptions,
},
jwt_helper_1.JwtHelper,
auth_middleware_1.AuthMiddleware,
jwt_service_1.JwtService,
aag_1.AagService,
],
exports: [jwt_helper_1.JwtHelper, auth_middleware_1.AuthMiddleware, jwt_service_1.JwtService, aag_1.AagService],
};
}
};
exports.JwtetteModule = JwtetteModule;
exports.JwtetteModule = JwtetteModule = JwtetteModule_1 = __decorate([
(0, common_1.Global)(),
(0, common_1.Module)({})
], JwtetteModule);
//# sourceMappingURL=jwtette.module.js.map