cqrs-boilerplate-code 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common-infra/common-infra.module.d.ts +2 -0
- package/dist/common-infra/common-infra.module.js +15 -7
- package/dist/common-infra/common-infra.module.js.map +1 -1
- package/dist/common-infra/database/database.module.d.ts +2 -0
- package/dist/common-infra/database/database.module.js +18 -12
- package/dist/common-infra/database/database.module.js.map +1 -1
- package/dist/common-infra/index.d.ts +2 -0
- package/dist/{middleware → common-infra}/index.js +2 -5
- package/dist/common-infra/index.js.map +1 -0
- package/dist/core-common/core-common.module.d.ts +2 -0
- package/dist/core-common/core-common.module.js +16 -8
- package/dist/core-common/core-common.module.js.map +1 -1
- package/dist/core-common/index.d.ts +12 -5
- package/dist/core-common/index.js +9 -2
- package/dist/core-common/index.js.map +1 -1
- package/dist/core-common/logger/logger.interface.d.ts +7 -0
- package/dist/core-common/logger/logger.interface.js +3 -0
- package/dist/core-common/logger/logger.interface.js.map +1 -0
- package/dist/core-common/logger/logger.module.d.ts +4 -0
- package/dist/core-common/logger/logger.module.js +20 -8
- package/dist/core-common/logger/logger.module.js.map +1 -1
- package/dist/core-common/logger/{index.js → logger.service.js} +1 -1
- package/dist/core-common/logger/logger.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -7
- package/src/common-infra/common-infra.module.ts +17 -0
- package/src/common-infra/database/database.module.ts +23 -0
- package/src/common-infra/database/typeorm.config.ts +18 -0
- package/src/common-infra/index.ts +2 -0
- package/src/core-common/constant/app.constant.ts +2 -0
- package/src/core-common/core-common.module.ts +19 -0
- package/src/core-common/error/custom-error/already-exists.error.ts +17 -0
- package/src/core-common/error/custom-error/bad-request.error.ts +8 -0
- package/src/core-common/error/custom-error/conflict.error.ts +17 -0
- package/src/core-common/error/custom-error/custom-validation-error.ts +9 -0
- package/src/core-common/error/custom-error/forbidden.error.ts +8 -0
- package/src/core-common/error/custom-error/internal-server.error.ts +11 -0
- package/src/core-common/error/custom-error/not-found.error.ts +8 -0
- package/src/core-common/error/custom-error/service-unavailable.error.ts +8 -0
- package/src/core-common/error/custom-error/unauthorized.error.ts +8 -0
- package/src/core-common/error/custom-error/unprocess-entity.error.ts +8 -0
- package/src/core-common/error/custom-error/validation.error.ts +8 -0
- package/src/core-common/error/generic.error.ts +31 -0
- package/src/core-common/error/index.ts +10 -0
- package/src/core-common/index.ts +13 -0
- package/src/core-common/logger/index.ts +3 -0
- package/src/core-common/logger/logger.interface.ts +8 -0
- package/src/core-common/logger/logger.module.ts +23 -0
- package/src/core-common/logger/logger.service.ts +175 -0
- package/src/core-common/response-model/generic-error-response.model.ts +44 -0
- package/src/core-common/response-model/generic-success-response.model.ts +25 -0
- package/src/core-common/result-model/result.ts +38 -0
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +58 -0
- package/dist/core-common/logger/index.js.map +0 -1
- package/dist/core-common/logger/logger.provider.d.ts +0 -2
- package/dist/core-common/logger/logger.provider.js +0 -9
- package/dist/core-common/logger/logger.provider.js.map +0 -1
- package/dist/middleware/async-storage.middleware.d.ts +0 -8
- package/dist/middleware/async-storage.middleware.js +0 -38
- package/dist/middleware/async-storage.middleware.js.map +0 -1
- package/dist/middleware/filter/global-exeception.filter.d.ts +0 -5
- package/dist/middleware/filter/global-exeception.filter.js +0 -98
- package/dist/middleware/filter/global-exeception.filter.js.map +0 -1
- package/dist/middleware/index.d.ts +0 -5
- package/dist/middleware/index.js.map +0 -1
- package/dist/middleware/interceptor/response-handler.d.ts +0 -9
- package/dist/middleware/interceptor/response-handler.js +0 -59
- package/dist/middleware/interceptor/response-handler.js.map +0 -1
- package/dist/middleware/platform-auth.middleware.d.ts +0 -5
- package/dist/middleware/platform-auth.middleware.js +0 -22
- package/dist/middleware/platform-auth.middleware.js.map +0 -1
- package/dist/middleware/utils/http-response.formatter.d.ts +0 -11
- package/dist/middleware/utils/http-response.formatter.js +0 -78
- package/dist/middleware/utils/http-response.formatter.js.map +0 -1
- /package/dist/core-common/logger/{index.d.ts → logger.service.d.ts} +0 -0
|
@@ -5,18 +5,26 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
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;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var CommonInfraModule_1;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.CommonInfraModule = void 0;
|
|
10
11
|
const common_1 = require("@nestjs/common");
|
|
12
|
+
const config_1 = require("@nestjs/config");
|
|
11
13
|
const database_module_1 = require("./database/database.module");
|
|
12
|
-
let CommonInfraModule = class CommonInfraModule {
|
|
14
|
+
let CommonInfraModule = CommonInfraModule_1 = class CommonInfraModule {
|
|
15
|
+
static forRoot() {
|
|
16
|
+
return {
|
|
17
|
+
module: CommonInfraModule_1,
|
|
18
|
+
imports: [
|
|
19
|
+
config_1.ConfigModule,
|
|
20
|
+
database_module_1.DBModule,
|
|
21
|
+
],
|
|
22
|
+
exports: [database_module_1.DBModule],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
13
25
|
};
|
|
14
26
|
exports.CommonInfraModule = CommonInfraModule;
|
|
15
|
-
exports.CommonInfraModule = CommonInfraModule = __decorate([
|
|
16
|
-
(0, common_1.Module)({
|
|
17
|
-
imports: [database_module_1.DBModule],
|
|
18
|
-
providers: [],
|
|
19
|
-
exports: [],
|
|
20
|
-
})
|
|
27
|
+
exports.CommonInfraModule = CommonInfraModule = CommonInfraModule_1 = __decorate([
|
|
28
|
+
(0, common_1.Module)({})
|
|
21
29
|
], CommonInfraModule);
|
|
22
30
|
//# sourceMappingURL=common-infra.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-infra.module.js","sourceRoot":"","sources":["../../src/common-infra/common-infra.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common-infra.module.js","sourceRoot":"","sources":["../../src/common-infra/common-infra.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,2CAA8C;AAC9C,gEAAsD;AAG/C,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,OAAO,EAAE;gBACP,qBAAY;gBACZ,0BAAQ;aACT;YACD,OAAO,EAAE,CAAC,0BAAQ,CAAC;SACpB,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,iBAAiB,CAW7B","sourcesContent":["import { DynamicModule, Module } from \"@nestjs/common\";\nimport { ConfigModule } from \"@nestjs/config\";\nimport { DBModule } from \"./database/database.module\";\n\n@Module({})\nexport class CommonInfraModule {\n static forRoot(): DynamicModule {\n return {\n module: CommonInfraModule,\n imports: [\n ConfigModule, // assumes consumer app config\n DBModule,\n ],\n exports: [DBModule],\n };\n }\n}\n"]}
|
|
@@ -5,24 +5,30 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
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;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var DBModule_1;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.DBModule = void 0;
|
|
10
11
|
const common_1 = require("@nestjs/common");
|
|
11
|
-
const typeorm_1 = require("@nestjs/typeorm");
|
|
12
12
|
const config_1 = require("@nestjs/config");
|
|
13
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
13
14
|
const typeorm_config_1 = require("./typeorm.config");
|
|
14
|
-
let DBModule = class DBModule {
|
|
15
|
+
let DBModule = DBModule_1 = class DBModule {
|
|
16
|
+
static forRoot() {
|
|
17
|
+
return {
|
|
18
|
+
module: DBModule_1,
|
|
19
|
+
imports: [
|
|
20
|
+
typeorm_1.TypeOrmModule.forRootAsync({
|
|
21
|
+
imports: [config_1.ConfigModule],
|
|
22
|
+
inject: [config_1.ConfigService],
|
|
23
|
+
useFactory: (configService) => (0, typeorm_config_1.typeOrmConfig)(configService),
|
|
24
|
+
}),
|
|
25
|
+
],
|
|
26
|
+
exports: [typeorm_1.TypeOrmModule],
|
|
27
|
+
};
|
|
28
|
+
}
|
|
15
29
|
};
|
|
16
30
|
exports.DBModule = DBModule;
|
|
17
|
-
exports.DBModule = DBModule = __decorate([
|
|
18
|
-
(0, common_1.Module)({
|
|
19
|
-
imports: [
|
|
20
|
-
typeorm_1.TypeOrmModule.forRootAsync({
|
|
21
|
-
imports: [config_1.ConfigModule],
|
|
22
|
-
inject: [config_1.ConfigService],
|
|
23
|
-
useFactory: typeorm_config_1.typeOrmConfig,
|
|
24
|
-
}),
|
|
25
|
-
],
|
|
26
|
-
})
|
|
31
|
+
exports.DBModule = DBModule = DBModule_1 = __decorate([
|
|
32
|
+
(0, common_1.Module)({})
|
|
27
33
|
], DBModule);
|
|
28
34
|
//# sourceMappingURL=database.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.module.js","sourceRoot":"","sources":["../../../src/common-infra/database/database.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"database.module.js","sourceRoot":"","sources":["../../../src/common-infra/database/database.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAuD;AACvD,2CAA6D;AAC7D,6CAAgD;AAChD,qDAAiD;AAG1C,IAAM,QAAQ,gBAAd,MAAM,QAAQ;IACnB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,UAAQ;YAChB,OAAO,EAAE;gBACP,uBAAa,CAAC,YAAY,CAAC;oBACzB,OAAO,EAAE,CAAC,qBAAY,CAAC;oBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;oBACvB,UAAU,EAAE,CAAC,aAA4B,EAAE,EAAE,CAC3C,IAAA,8BAAa,EAAC,aAAa,CAAC;iBAC/B,CAAC;aACH;YACD,OAAO,EAAE,CAAC,uBAAa,CAAC;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAfY,4BAAQ;mBAAR,QAAQ;IADpB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,QAAQ,CAepB","sourcesContent":["// src/database/database.module.ts\nimport { DynamicModule, Module } from \"@nestjs/common\";\nimport { ConfigModule, ConfigService } from \"@nestjs/config\";\nimport { TypeOrmModule } from \"@nestjs/typeorm\";\nimport { typeOrmConfig } from \"./typeorm.config\";\n\n@Module({})\nexport class DBModule {\n static forRoot(): DynamicModule {\n return {\n module: DBModule,\n imports: [\n TypeOrmModule.forRootAsync({\n imports: [ConfigModule],\n inject: [ConfigService],\n useFactory: (configService: ConfigService) =>\n typeOrmConfig(configService),\n }),\n ],\n exports: [TypeOrmModule],\n };\n }\n}\n"]}
|
|
@@ -14,9 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./utils/http-response.formatter"), exports);
|
|
20
|
-
__exportStar(require("./interceptor/response-handler"), exports);
|
|
21
|
-
__exportStar(require("./filter/global-exeception.filter"), exports);
|
|
17
|
+
__exportStar(require("./common-infra.module"), exports);
|
|
18
|
+
__exportStar(require("./database/typeorm.config"), exports);
|
|
22
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common-infra/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,4DAA0C","sourcesContent":["export * from \"./common-infra.module\";\nexport * from \"./database/typeorm.config\";\n"]}
|
|
@@ -5,19 +5,27 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
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;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var CoreCommonModule_1;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
10
|
exports.CoreCommonModule = void 0;
|
|
10
11
|
const common_1 = require("@nestjs/common");
|
|
11
12
|
const logger_module_1 = require("./logger/logger.module");
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
let CoreCommonModule = CoreCommonModule_1 = class CoreCommonModule {
|
|
14
|
+
static forRoot() {
|
|
15
|
+
return {
|
|
16
|
+
module: CoreCommonModule_1,
|
|
17
|
+
imports: [
|
|
18
|
+
logger_module_1.LoggerModule.forRoot(),
|
|
19
|
+
],
|
|
20
|
+
exports: [
|
|
21
|
+
logger_module_1.LoggerModule,
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
14
25
|
};
|
|
15
26
|
exports.CoreCommonModule = CoreCommonModule;
|
|
16
|
-
exports.CoreCommonModule = CoreCommonModule = __decorate([
|
|
17
|
-
(0, common_1.
|
|
18
|
-
|
|
19
|
-
providers: [logger_provider_1.LoggerProvider],
|
|
20
|
-
exports: [],
|
|
21
|
-
})
|
|
27
|
+
exports.CoreCommonModule = CoreCommonModule = CoreCommonModule_1 = __decorate([
|
|
28
|
+
(0, common_1.Global)(),
|
|
29
|
+
(0, common_1.Module)({})
|
|
22
30
|
], CoreCommonModule);
|
|
23
31
|
//# sourceMappingURL=core-common.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-common.module.js","sourceRoot":"","sources":["../../src/core-common/core-common.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core-common.module.js","sourceRoot":"","sources":["../../src/core-common/core-common.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAA+D;AAC/D,0DAAsD;AAI/C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAC3B,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,kBAAgB;YACxB,OAAO,EAAE;gBACP,4BAAY,CAAC,OAAO,EAAE;aACvB;YACD,OAAO,EAAE;gBACP,4BAAY;aACb;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAZY,4CAAgB;2BAAhB,gBAAgB;IAF5B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,gBAAgB,CAY5B","sourcesContent":["// src/core-common.module.ts\nimport { DynamicModule, Global, Module } from \"@nestjs/common\";\nimport { LoggerModule } from \"./logger/logger.module\";\n\n@Global()\n@Module({})\nexport class CoreCommonModule {\n static forRoot(): DynamicModule {\n return {\n module: CoreCommonModule,\n imports: [\n LoggerModule.forRoot(),\n ],\n exports: [\n LoggerModule,\n ],\n };\n }\n}\n"]}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from '
|
|
3
|
-
export * from '
|
|
4
|
-
export * from '
|
|
5
|
-
export * from '
|
|
1
|
+
export * from './constant/app.constant';
|
|
2
|
+
export * from './error/custom-error/already-exists.error';
|
|
3
|
+
export * from './error/custom-error/not-found.error';
|
|
4
|
+
export * from './error/custom-error/validation.error';
|
|
5
|
+
export * from './error/custom-error/internal-server.error';
|
|
6
|
+
export * from './error/custom-error/unauthorized.error';
|
|
7
|
+
export * from './error/custom-error/service-unavailable.error';
|
|
8
|
+
export * from './error/generic.error';
|
|
9
|
+
export * from './result-model/result';
|
|
10
|
+
export * from './response-model/generic-error-response.model';
|
|
11
|
+
export * from './response-model/generic-success-response.model';
|
|
12
|
+
export * from './core-common.module';
|
|
@@ -16,7 +16,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./constant/app.constant"), exports);
|
|
18
18
|
__exportStar(require("./error/custom-error/already-exists.error"), exports);
|
|
19
|
-
__exportStar(require("./error/custom-error/
|
|
20
|
-
__exportStar(require("./error/custom-error/
|
|
19
|
+
__exportStar(require("./error/custom-error/not-found.error"), exports);
|
|
20
|
+
__exportStar(require("./error/custom-error/validation.error"), exports);
|
|
21
21
|
__exportStar(require("./error/custom-error/internal-server.error"), exports);
|
|
22
|
+
__exportStar(require("./error/custom-error/unauthorized.error"), exports);
|
|
23
|
+
__exportStar(require("./error/custom-error/service-unavailable.error"), exports);
|
|
24
|
+
__exportStar(require("./error/generic.error"), exports);
|
|
25
|
+
__exportStar(require("./result-model/result"), exports);
|
|
26
|
+
__exportStar(require("./response-model/generic-error-response.model"), exports);
|
|
27
|
+
__exportStar(require("./response-model/generic-success-response.model"), exports);
|
|
28
|
+
__exportStar(require("./core-common.module"), exports);
|
|
22
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core-common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core-common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,4EAAyD;AACzD,uEAAoD;AACpD,wEAAqD;AACrD,6EAA0D;AAC1D,0EAAuD;AACvD,iFAA8D;AAC9D,wDAAqC;AACrC,wDAAqC;AACrC,gFAA6D;AAC7D,kFAA+D;AAE/D,uDAAoC","sourcesContent":["export * from './constant/app.constant'\nexport * from './error/custom-error/already-exists.error'\nexport * from './error/custom-error/not-found.error'\nexport * from './error/custom-error/validation.error'\nexport * from './error/custom-error/internal-server.error'\nexport * from './error/custom-error/unauthorized.error'\nexport * from './error/custom-error/service-unavailable.error'\nexport * from './error/generic.error'\nexport * from './result-model/result'\nexport * from './response-model/generic-error-response.model'\nexport * from './response-model/generic-success-response.model'\n\nexport * from './core-common.module'"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.interface.js","sourceRoot":"","sources":["../../../src/core-common/logger/logger.interface.ts"],"names":[],"mappings":"","sourcesContent":["// src/logger/logger.options.ts\nexport interface LoggerModuleOptions {\n level?: string;\n deploymentEnv?: string;\n serviceVersion?: string;\n otelAgentHost?: string;\n overrideConsole?: boolean;\n}"]}
|
|
@@ -5,17 +5,29 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
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;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var LoggerModule_1;
|
|
8
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.LoggerModule = void 0;
|
|
10
|
+
exports.LoggerModule = exports.LOGGER_OPTIONS = void 0;
|
|
10
11
|
const common_1 = require("@nestjs/common");
|
|
11
|
-
const
|
|
12
|
-
|
|
12
|
+
const logger_service_1 = require("./logger.service");
|
|
13
|
+
exports.LOGGER_OPTIONS = Symbol("LOGGER_OPTIONS");
|
|
14
|
+
let LoggerModule = LoggerModule_1 = class LoggerModule {
|
|
15
|
+
static forRoot(options = {}) {
|
|
16
|
+
return {
|
|
17
|
+
module: LoggerModule_1,
|
|
18
|
+
providers: [
|
|
19
|
+
logger_service_1.LoggerService,
|
|
20
|
+
{
|
|
21
|
+
provide: exports.LOGGER_OPTIONS,
|
|
22
|
+
useValue: options,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
exports: [logger_service_1.LoggerService],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
13
28
|
};
|
|
14
29
|
exports.LoggerModule = LoggerModule;
|
|
15
|
-
exports.LoggerModule = LoggerModule = __decorate([
|
|
16
|
-
(0, common_1.Module)({
|
|
17
|
-
providers: [logger_provider_1.LoggerProvider],
|
|
18
|
-
exports: [logger_provider_1.LoggerProvider],
|
|
19
|
-
})
|
|
30
|
+
exports.LoggerModule = LoggerModule = LoggerModule_1 = __decorate([
|
|
31
|
+
(0, common_1.Module)({})
|
|
20
32
|
], LoggerModule);
|
|
21
33
|
//# sourceMappingURL=logger.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../../../src/core-common/logger/logger.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../../../src/core-common/logger/logger.module.ts"],"names":[],"mappings":";;;;;;;;;;AACA,2CAAuD;AACvD,qDAAiD;AAGpC,QAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAGhD,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO,CAAC,UAA+B,EAAE;QAC9C,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,SAAS,EAAE;gBACT,8BAAa;gBACb;oBACE,OAAO,EAAE,sBAAc;oBACvB,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD,OAAO,EAAE,CAAC,8BAAa,CAAC;SACzB,CAAC;IACJ,CAAC;CACF,CAAA;AAdY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAcxB","sourcesContent":["// src/logger/logger.module.ts\nimport { DynamicModule, Module } from \"@nestjs/common\";\nimport { LoggerService } from \"./logger.service\";\nimport { LoggerModuleOptions } from \"./logger.interface\";\n\nexport const LOGGER_OPTIONS = Symbol(\"LOGGER_OPTIONS\");\n\n@Module({})\nexport class LoggerModule {\n static forRoot(options: LoggerModuleOptions = {}): DynamicModule {\n return {\n module: LoggerModule,\n providers: [\n LoggerService,\n {\n provide: LOGGER_OPTIONS,\n useValue: options,\n },\n ],\n exports: [LoggerService],\n };\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../src/core-common/logger/logger.service.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA0C;AAI1C,IAAK,YAKJ;AALD,WAAK,YAAY;IACf,oCAAoB,CAAA;IACpB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,+BAAe,CAAA;AACjB,CAAC,EALI,YAAY,KAAZ,YAAY,QAKhB;AAeD,MAAa,aAAa;IACP,MAAM,CAAS;IACf,aAAa,CAAS;IACtB,gBAAgB,CAAS;IACzB,aAAa,CAAS;IAEvC,YAAY,WAAmB,OAAO;QACpC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,UAAU,CAAC;QAClE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,UAAU,CAAC;QAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAID,GAAG,CAAC,OAAe,EAAE,QAAsB;QACzC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,QAAsB;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,QAAsB;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,QAAsB,EAAE,KAAa;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAIO,KAAK,CACX,KAAmB,EACnB,QAAsB,EACtB,OAAe,EACf,WAAwB,EAAE,EAC1B,KAAa;QAEb,MAAM,IAAI,GAAG;YACX,YAAY,EAAE,QAAQ;YACtB,GAAG,QAAQ;YACX,GAAG,CAAC,KAAK,IAAI;gBACX,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,UAAU,EAAE,KAAK,CAAC,KAAK;aACxB,CAAC;SACH,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAEO,YAAY,CAAC,KAAa;QAChC,OAAO,iBAAO,CAAC,YAAY,CAAC;YAC1B,KAAK;YACL,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;YACjC,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC3D,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAC/D,IAAI,CAAC,SAAS,CAAC;gBACb,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;gBACpC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBACvC,SAAS,EAAE,SAAS;gBACpB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aACxB,CAAC,CACH,CACF;YACD,UAAU,EAAE,CAAC,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IAIO,eAAe,CAAC,KAAa;QACnC,OAAO;YACL,uBAAuB,EAAE,IAAI,CAAC,gBAAgB;YAC9C,wBAAwB,EAAE,IAAI,CAAC,aAAa;YAC5C,iBAAiB,EAAE,IAAI,CAAC,aAAa;YACrC,mBAAmB,EAAE,KAAK;SAC3B,CAAC;IACJ,CAAC;IAIO,SAAS,CAAC,IAA6B;QAC7C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CACzB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CACxD,CACF,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,KAAc;QAClC,IAAI,CAAC;YACH,OAAO,OAAO,KAAK,KAAK,QAAQ;gBAC9B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,yBAAyB,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAS,EAAE,KAAU,EAAE,EAAE;YAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,OAAO,YAAY,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IAIO,aAAa,CAAC,OAAe;QACnC,MAAM,QAAQ,GAAG;YACf;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,oDAAoD;gBAC3D,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,qCAAqC;gBAC5C,OAAO,EAAE,EAAE;aACZ;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE;YAC/D,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,EAAE;SAC/D,CAAC;QAEF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YACvD,OAAO,GAAG,CAAC,OAAO,CAChB,KAAK,EACL,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,IAAI,GAAG,CACrD,CAAC;QACJ,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAIO,eAAe;QACrB,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO;YACjD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CACF;AAtJD,sCAsJC","sourcesContent":["import winston, { Logger } from \"winston\";\n\n/* ---------------------------------- Types --------------------------------- */\n\nenum SeverityText {\n INFO = \"Information\",\n DEBUG = \"Debug\",\n WARNING = \"Warning\",\n ERROR = \"Error\",\n}\n\ntype LogMetadata = {\n ClassName?: string;\n MethodName?: string;\n};\n\nexport type OrgContext = {\n orgId?: string;\n orgFid?: string;\n userId?: string;\n};\n\n/* --------------------------------- Service -------------------------------- */\n\nexport class LoggerService {\n private readonly logger: Logger;\n private readonly deploymentEnv: string;\n private readonly hostImageVersion: string;\n private readonly otelAgentHost: string;\n\n constructor(logLevel: string = \"debug\") {\n this.deploymentEnv = \"rls-dev\";\n this.hostImageVersion = process.env.SERVICE_VERSION ?? \"202501.1\";\n this.otelAgentHost = process.env.OTEL_AGENT_HOST ?? \"10.0.0.1\";\n this.logger = this.createLogger(logLevel);\n this.overrideConsole();\n }\n\n /* ------------------------------- Public API ------------------------------- */\n\n log(message: string, metadata?: LogMetadata) {\n this.write(\"info\", SeverityText.INFO, message, metadata);\n }\n\n debug(message: string, metadata?: LogMetadata) {\n this.write(\"debug\", SeverityText.DEBUG, message, metadata);\n }\n\n warn(message: string, metadata?: LogMetadata) {\n this.write(\"warn\", SeverityText.WARNING, message, metadata);\n }\n\n error(message: string, metadata?: LogMetadata, error?: Error) {\n this.write(\"error\", SeverityText.ERROR, message, metadata, error);\n }\n\n /* ------------------------------ Logger Core ------------------------------ */\n\n private write(\n level: keyof Logger,\n severity: SeverityText,\n message: string,\n metadata: LogMetadata = {},\n error?: Error,\n ) {\n const body = {\n SeverityText: severity,\n ...metadata,\n ...(error && {\n ErrorMessage: error.message,\n StackTrace: error.stack,\n }),\n };\n\n this.logger[level](this.redactSecrets(message), body);\n }\n\n private createLogger(level: string): Logger {\n return winston.createLogger({\n level,\n levels: winston.config.npm.levels,\n format: winston.format.combine(\n winston.format.timestamp({ format: \"YYYY-MM-DD HH:mm:ss\" }),\n winston.format.printf(({ level, message, timestamp, ...meta }) =>\n JSON.stringify({\n message: this.safeStringify(message),\n attributes: this.buildAttributes(level),\n timestamp: timestamp,\n ...this.cleanMeta(meta),\n }),\n ),\n ),\n transports: [new winston.transports.Console()],\n });\n }\n\n /* ------------------------------- Context -------------------------------- */\n\n private buildAttributes(level: string) {\n return {\n \"service.image.version\": this.hostImageVersion,\n \"deployment.environment\": this.deploymentEnv,\n \"otel.agent.host\": this.otelAgentHost,\n \"service.log.level\": level,\n };\n }\n\n /* ------------------------------- Helpers -------------------------------- */\n\n private cleanMeta(meta: Record<string, unknown>) {\n return Object.fromEntries(\n Object.entries(meta).filter(\n ([_, value]) => value !== undefined && value !== \"None\",\n ),\n );\n }\n\n private safeStringify(input: unknown): string {\n try {\n return typeof input === \"string\"\n ? input\n : JSON.stringify(input, this.circularReplacer());\n } catch {\n return \"[Unserializable Object]\";\n }\n }\n\n private circularReplacer() {\n const seen = new WeakSet();\n return (_: string, value: any) => {\n if (typeof value === \"object\" && value !== null) {\n if (seen.has(value)) return \"[Circular]\";\n seen.add(value);\n }\n return value;\n };\n }\n\n /* ----------------------------- Redaction -------------------------------- */\n\n private redactSecrets(message: string): string {\n const patterns = [\n {\n name: \"JWT\",\n regex: /eyJ[a-zA-Z0-9-_]+\\.[a-zA-Z0-9-_]+\\.[a-zA-Z0-9-_]+/g,\n visible: 10,\n },\n {\n name: \"BEARER\",\n regex: /Bearer\\s+eyJ[A-Za-z0-9\\-._~+/]+=*/gi,\n visible: 15,\n },\n { name: \"API_KEY\", regex: /\\b[A-Za-z0-9]{32,}\\b/g, visible: 8 },\n { name: \"AWS_SECRET\", regex: /AKIA[0-9A-Z]{16}/g, visible: 8 },\n ];\n\n return patterns.reduce((msg, { regex, visible, name }) => {\n return msg.replace(\n regex,\n (m) => `${m.slice(0, visible)}...[REDACTED_${name}]`,\n );\n }, message);\n }\n\n /* --------------------------- Console Override ---------------------------- */\n\n private overrideConsole() {\n const blocked = [\"NodeSDK\", \"AuthToken\"];\n console.log = (...args: unknown[]) => {\n const msg = args.map(String).join(\" \");\n if (blocked.some((k) => msg.includes(k))) return;\n this.log(msg);\n };\n }\n}\n"]}
|