@gennext/lb-infra 0.0.11 → 0.0.17

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.
Files changed (131) hide show
  1. package/README.md +67 -102
  2. package/dist/base/base.helper.d.ts +4 -2
  3. package/dist/base/base.helper.d.ts.map +1 -1
  4. package/dist/base/base.helper.js +8 -2
  5. package/dist/base/base.helper.js.map +1 -1
  6. package/dist/base/datasources/base.datasource.d.ts +2 -2
  7. package/dist/base/datasources/base.datasource.d.ts.map +1 -1
  8. package/dist/base/datasources/base.datasource.js.map +1 -1
  9. package/dist/base/models/base.model.d.ts +10 -0
  10. package/dist/base/models/base.model.d.ts.map +1 -1
  11. package/dist/base/models/base.model.js +10 -3
  12. package/dist/base/models/base.model.js.map +1 -1
  13. package/dist/datasources/redis/connector.d.ts +1 -1
  14. package/dist/datasources/redis/connector.d.ts.map +1 -1
  15. package/dist/datasources/redis/connector.js +8 -4
  16. package/dist/datasources/redis/connector.js.map +1 -1
  17. package/dist/datasources/redis/types.d.ts +1 -1
  18. package/dist/datasources/redis/types.d.ts.map +1 -1
  19. package/dist/helpers/logger/application-logger.d.ts +0 -3
  20. package/dist/helpers/logger/application-logger.d.ts.map +1 -1
  21. package/dist/helpers/logger/application-logger.js +7 -31
  22. package/dist/helpers/logger/application-logger.js.map +1 -1
  23. package/dist/helpers/logger/common/types.d.ts +0 -7
  24. package/dist/helpers/logger/common/types.d.ts.map +1 -1
  25. package/dist/helpers/logger/common/types.js +1 -10
  26. package/dist/helpers/logger/common/types.js.map +1 -1
  27. package/dist/helpers/logger/config-merger.d.ts +27 -0
  28. package/dist/helpers/logger/config-merger.d.ts.map +1 -0
  29. package/dist/helpers/logger/config-merger.js +55 -0
  30. package/dist/helpers/logger/config-merger.js.map +1 -0
  31. package/dist/helpers/logger/config.d.ts +9 -11
  32. package/dist/helpers/logger/config.d.ts.map +1 -1
  33. package/dist/helpers/logger/config.js +18 -30
  34. package/dist/helpers/logger/config.js.map +1 -1
  35. package/dist/helpers/logger/default-logger.d.ts.map +1 -1
  36. package/dist/helpers/logger/default-logger.js +3 -5
  37. package/dist/helpers/logger/default-logger.js.map +1 -1
  38. package/dist/helpers/logger/enhanced-factory.d.ts +3 -3
  39. package/dist/helpers/logger/enhanced-factory.d.ts.map +1 -1
  40. package/dist/helpers/logger/enhanced-factory.js +10 -7
  41. package/dist/helpers/logger/enhanced-factory.js.map +1 -1
  42. package/dist/helpers/logger/factory.d.ts +1 -37
  43. package/dist/helpers/logger/factory.d.ts.map +1 -1
  44. package/dist/helpers/logger/factory.js +11 -86
  45. package/dist/helpers/logger/factory.js.map +1 -1
  46. package/dist/helpers/logger/http/access-logger.d.ts +14 -5
  47. package/dist/helpers/logger/http/access-logger.d.ts.map +1 -1
  48. package/dist/helpers/logger/http/access-logger.js +186 -157
  49. package/dist/helpers/logger/http/access-logger.js.map +1 -1
  50. package/dist/helpers/logger/http/index.d.ts +1 -1
  51. package/dist/helpers/logger/http/index.d.ts.map +1 -1
  52. package/dist/helpers/logger/http/index.js +1 -1
  53. package/dist/helpers/logger/http/index.js.map +1 -1
  54. package/dist/helpers/logger/http/request-context.d.ts +10 -6
  55. package/dist/helpers/logger/http/request-context.d.ts.map +1 -1
  56. package/dist/helpers/logger/http/request-context.js +32 -22
  57. package/dist/helpers/logger/http/request-context.js.map +1 -1
  58. package/dist/helpers/logger/http/request-id-manager.d.ts +13 -8
  59. package/dist/helpers/logger/http/request-id-manager.d.ts.map +1 -1
  60. package/dist/helpers/logger/http/request-id-manager.js +24 -70
  61. package/dist/helpers/logger/http/request-id-manager.js.map +1 -1
  62. package/dist/helpers/logger/http/types.d.ts +3 -3
  63. package/dist/helpers/logger/http/types.d.ts.map +1 -1
  64. package/dist/helpers/logger/index.d.ts +4 -3
  65. package/dist/helpers/logger/index.d.ts.map +1 -1
  66. package/dist/helpers/logger/index.js +4 -3
  67. package/dist/helpers/logger/index.js.map +1 -1
  68. package/dist/helpers/logger/transports/dgram.transport.d.ts +0 -1
  69. package/dist/helpers/logger/transports/dgram.transport.d.ts.map +1 -1
  70. package/dist/helpers/logger/transports/dgram.transport.js +2 -2
  71. package/dist/helpers/logger/transports/dgram.transport.js.map +1 -1
  72. package/dist/helpers/redis/default.helper.d.ts.map +1 -1
  73. package/dist/helpers/redis/default.helper.js +19 -17
  74. package/dist/helpers/redis/default.helper.js.map +1 -1
  75. package/dist/helpers/redis/index.d.ts.map +1 -1
  76. package/dist/helpers/redis/index.js.map +1 -1
  77. package/dist/helpers/redis/redis-cluster.helper.js +2 -2
  78. package/dist/helpers/redis/redis-cluster.helper.js.map +1 -1
  79. package/dist/helpers/redis/redis.helper.d.ts +34 -0
  80. package/dist/helpers/redis/redis.helper.d.ts.map +1 -1
  81. package/dist/helpers/redis/redis.helper.js +34 -0
  82. package/dist/helpers/redis/redis.helper.js.map +1 -1
  83. package/dist/utilities/crypto.utility.d.ts +28 -0
  84. package/dist/utilities/crypto.utility.d.ts.map +1 -1
  85. package/dist/utilities/crypto.utility.js +28 -0
  86. package/dist/utilities/crypto.utility.js.map +1 -1
  87. package/dist/utilities/date.utility.d.ts +57 -0
  88. package/dist/utilities/date.utility.d.ts.map +1 -1
  89. package/dist/utilities/date.utility.js +58 -16
  90. package/dist/utilities/date.utility.js.map +1 -1
  91. package/dist/utilities/error.utility.d.ts +63 -0
  92. package/dist/utilities/error.utility.d.ts.map +1 -1
  93. package/dist/utilities/error.utility.js +82 -4
  94. package/dist/utilities/error.utility.js.map +1 -1
  95. package/dist/utilities/lodash.utility.d.ts +1 -0
  96. package/dist/utilities/lodash.utility.d.ts.map +1 -1
  97. package/dist/utilities/lodash.utility.js +3 -1
  98. package/dist/utilities/lodash.utility.js.map +1 -1
  99. package/dist/utilities/model.utility.d.ts +15 -0
  100. package/dist/utilities/model.utility.d.ts.map +1 -1
  101. package/dist/utilities/model.utility.js +15 -2
  102. package/dist/utilities/model.utility.js.map +1 -1
  103. package/dist/utilities/module.utility.d.ts +8 -0
  104. package/dist/utilities/module.utility.d.ts.map +1 -1
  105. package/dist/utilities/module.utility.js +10 -2
  106. package/dist/utilities/module.utility.js.map +1 -1
  107. package/dist/utilities/parse.utility.d.ts +59 -0
  108. package/dist/utilities/parse.utility.d.ts.map +1 -1
  109. package/dist/utilities/parse.utility.js +76 -15
  110. package/dist/utilities/parse.utility.js.map +1 -1
  111. package/dist/utilities/performance.utility.d.ts +13 -0
  112. package/dist/utilities/performance.utility.d.ts.map +1 -1
  113. package/dist/utilities/performance.utility.js +15 -2
  114. package/dist/utilities/performance.utility.js.map +1 -1
  115. package/dist/utilities/promise.utility.d.ts +18 -18
  116. package/dist/utilities/promise.utility.d.ts.map +1 -1
  117. package/dist/utilities/promise.utility.js +16 -17
  118. package/dist/utilities/promise.utility.js.map +1 -1
  119. package/dist/utilities/query.utility.d.ts +24 -3
  120. package/dist/utilities/query.utility.d.ts.map +1 -1
  121. package/dist/utilities/query.utility.js +29 -7
  122. package/dist/utilities/query.utility.js.map +1 -1
  123. package/dist/utilities/request.utility.d.ts +36 -3
  124. package/dist/utilities/request.utility.d.ts.map +1 -1
  125. package/dist/utilities/request.utility.js +38 -8
  126. package/dist/utilities/request.utility.js.map +1 -1
  127. package/dist/utilities/url.utility.d.ts +16 -0
  128. package/dist/utilities/url.utility.d.ts.map +1 -1
  129. package/dist/utilities/url.utility.js +16 -0
  130. package/dist/utilities/url.utility.js.map +1 -1
  131. package/package.json +2 -1
package/README.md CHANGED
@@ -1,146 +1,111 @@
1
1
  # @gennext/lb-infra
2
2
 
3
- `@gennext/lb-infra` bộ khung sở (infrastructure framework) được phát triển bởi Gennex Technology dựa trên LoopBack 4. Thư viện này cung cấp các công cụ, tiện ích các lớp sở giúp tăng tốc độ phát triển các ứng dụng backend một cách nhất quán và bảo mật.
3
+ Thư viện hạ tầng tiêu chuẩn (Infrastructure Library) dành cho các dịch vụ backend LoopBack 4 tại Gennex. Package này cung cấp các thành phần cốt lõi để chuẩn hóa nguồn, cải thiện tính ổn định khả năng quan sát (observability) của hệ thống.
4
4
 
5
- ## Tính năng chính
5
+ ## Tính năng chính
6
6
 
7
- - **Enhanced Logger**: Hệ thống logging mạnh mẽ hỗ trợ ghi log truy cập HTTP, ẩn thông tin nhạy cảm (data masking), theo dõi Request ID đo lường hiệu suất.
8
- - **Base Models & Datasources**: Cung cấp các lớp sở như `BaseEntity`, `BaseDataSource` giúp chuẩn hóa cấu trúc dữ liệu và kết nối DB.
9
- - **Datasources**: Hỗ trợ sẵn các cấu hìnhlớp kết nối cho PostgreSQL và Redis.
10
- - **Redis Helpers**: Tiện ích giúp tương tác với Redis một cách dễ dànghiệu quả.
11
- - **Common Utilities**: Tập hợp các hàm tiện ích cho Crypto, Date, Error, Promises, Query Builder, URL, v.v.
12
- - **LoopBack 4 Overrides**: Re-export và tùy chỉnh các module cốt lõi của LoopBack 4 (@lb/auth, @lb/core, @lb/rest, @lb/repo).
7
+ - 🚀 **Base Components:** Cung cấp Base Model, Base Entity, Base DataSourceBase Helper chuẩn hóa.
8
+ - 🪵 **Enhanced Logger:** Logger nâng cao dựa trên Winston, hỗ trợ Request ID tự động (AsyncLocalStorage), Data Masking dữ liệu nhạy cảm Access Log.
9
+ - 📦 **Redis Helpers:** Wrapper cho ioredis hỗ trợ Cluster, tự động nén dữ liệu (zlib), tích hợp sẵn JSON commands (RedisJSON).
10
+ - 🛠️ **Utilities:** Bộ tiện ích phong phú cho Crypto, Date (DayJS), Error Handling, Model mapping, Promise concurrency control.
11
+ - 🚦 **Standardized Error Handling:** Hệ thống Error class chuyên biệt (NotImplemented, Validation, ApplicationError) hỗ trợ metadata serialization.
12
+ - 🔌 **Standard Exports:** Re-export các module LoopBack phổ biến (@lb/auth, @lb/core, @lb/rest, @lb/repo) để đồng bộ phiên bản.
13
13
 
14
- ---
15
-
16
- ## Cài đặt
17
-
18
- Sử dụng `bun` hoặc `npm`/`yarn`:
14
+ ## 📦 Cài đặt
19
15
 
20
16
  ```bash
21
17
  bun add @gennext/lb-infra
18
+ # Hoặc dùng npm/yarn
19
+ npm install @gennext/lb-infra
22
20
  ```
23
21
 
24
- ---
25
-
26
- ## Hướng dẫn sử dụng
22
+ ## 🚀 Sử dụng nhanh
27
23
 
28
- ### 1. Cấu hình Logger
24
+ ### 1. Cấu hình & Sử dụng Logger
25
+ Logger hỗ trợ tự động đính kèm `requestId` xuyên suốt luồng xử lý (trên cả console và file log).
29
26
 
30
- Hệ thống logger hỗ trợ hai chế độ: `legacy` (tương thích ngược) và `modern`. Bạn nên cấu hình logger ngay khi khởi tạo ứng dụng.
31
-
32
- ```typescript
27
+ ```ts
33
28
  import { LoggerFactory } from '@gennext/lb-infra';
34
29
 
35
- // Cấu hình toàn cục (thực hiện một lần tại entry point)
30
+ // Cấu hình toàn cục (thường gọi main.ts hoặc app.ts)
36
31
  LoggerFactory.config({
37
32
  mode: 'modern',
33
+ defaultRequestIDSystem: 'requestContext',
34
+ defaultLogFormat: 'modern',
38
35
  defaultDataMasking: {
39
- useMaskdataLib: true,
40
- maskdataOptions: {
41
- genericStrings: [
42
- {
43
- config: { maskWith: '*', fixedOutputLength: 8 },
44
- fields: ['*password', '*secret', '*token'],
45
- },
46
- ],
47
- },
36
+ useMaskDataLib: true,
48
37
  },
49
- defaultRequestIDSystem: 'asyncLocalStorage',
50
- defaultLogFormat: 'modern',
51
38
  });
52
39
 
53
- const logger = LoggerFactory.getLogger(['UserModule']);
54
- logger.info('Ứng dụng đã khởi chạy thành công');
55
- ```
56
-
57
- ### 2. Sử dụng Base Model
58
-
59
- Kế thừa các lớp cơ sở để chuẩn hóa các Entity trong LoopBack 4.
60
-
61
- ```typescript
62
- import { BaseNumberIdEntity } from '@gennext/lb-infra';
63
- import { property } from '@loopback/repository';
64
-
65
- export class User extends BaseNumberIdEntity {
66
- @property({ type: 'string', required: true })
67
- username: string;
68
-
69
- @property({ type: 'string' })
70
- email?: string;
71
- }
72
- ```
73
-
74
- ### 3. Kết nối PostgreSQL
75
-
76
- `PostgresDataSource` tự động đọc cấu hình từ biến môi trường.
77
-
78
- ```typescript
79
- import { PostgresDataSource } from '@gennext/lb-infra';
80
-
81
- // Tự động kết nối dựa trên APP_ENV_POSTGRES_* env
82
- const dataSource = new PostgresDataSource();
40
+ const logger = LoggerFactory.getLogger(['user-service', 'auth']);
41
+ logger.info('Dịch vụ đã sẵn sàng');
83
42
  ```
84
43
 
85
- ### 4. Sử dụng Redis Helper
44
+ ### 2. Sử dụng Redis Helper
45
+ Hỗ trợ đầy đủ các thao tác với Object, String và RedisJSON.
86
46
 
87
- ```typescript
47
+ ```ts
88
48
  import { RedisHelper } from '@gennext/lb-infra';
89
49
 
90
- const redis = new RedisHelper({
91
- name: 'my-redis',
92
- host: 'localhost',
50
+ const cache = new RedisHelper({
51
+ name: 'app-cache',
52
+ host: process.env.REDIS_HOST,
93
53
  port: 6379,
94
- password: 'your-password'
95
54
  });
96
55
 
97
- await redis.set('key', 'value');
98
- const val = await redis.get('key');
99
- ```
56
+ // Lưu trữ object (tự động serialize JSON)
57
+ await cache.set({ key: 'user:1', value: { id: 1, name: 'Gennex' } });
100
58
 
101
- ### 5. Sử dụng Common Utilities
59
+ // Đọc chuyển đổi object
60
+ const user = await cache.getObject({ key: 'user:1' });
61
+ ```
102
62
 
103
- ```typescript
104
- import { cryptoUtility, dateUtility, queryUtility } from '@gennext/lb-infra';
63
+ ### 3. Xử lý Lỗi (Error Handling)
64
+ Hỗ trợ các class lỗi có cấu trúc, giúp Frontend dễ dàng xử lý thông báo lỗi.
105
65
 
106
- // Crypto
107
- const hash = cryptoUtility.md5('password');
66
+ ```ts
67
+ import { ValidationError, NotImplementedError } from '@gennext/lb-infra';
108
68
 
109
- // Date
110
- const now = dateUtility.now();
69
+ // Khi dữ liệu không hợp lệ
70
+ throw new ValidationError('Email không đúng định dạng', { email: 'invalid-email' });
111
71
 
112
- // Query Utility
113
- const tableDef = queryUtility.getTableDefinition({ model: User });
72
+ // Khi tính năng chưa được triển khai
73
+ throw new NotImplementedError('exportToExcel');
114
74
  ```
115
75
 
116
- ---
117
-
118
- ## Cấu hình Biến môi trường (Environment Variables)
76
+ ### 4. Utilities tiện ích
77
+ ```ts
78
+ import { sleep, executePromiseWithLimit } from '@gennext/lb-infra';
119
79
 
120
- Thư viện hỗ trợ các biến môi trường sau để cấu hình Datasource:
80
+ // Chờ 1 giây
81
+ await sleep(1000);
121
82
 
122
- ### PostgreSQL
123
- - `APP_ENV_POSTGRES_HOST`: Host của DB (mặc định: `0.0.0.0`)
124
- - `APP_ENV_POSTGRES_PORT`: Port (mặc định: `5432`)
125
- - `APP_ENV_POSTGRES_USERNAME`: Username (mặc định: `postgres`)
126
- - `APP_ENV_POSTGRES_PASSWORD`: Password (mặc định: `password`)
127
- - `APP_ENV_POSTGRES_DATABASE`: Database name (mặc định: `postgres`)
83
+ // Chạy 100 task đồng thời, nhưng giới hạn tối đa 5 task cùng lúc
84
+ await executePromiseWithLimit({
85
+ tasks: myTaskArray,
86
+ limit: 5
87
+ });
88
+ ```
128
89
 
129
- ### Logger
130
- - `APP_ENV_ENABLE_ACCESS_LOG`: Bật/tắt log truy cập (true/false)
131
- - `APP_ENV_LOG_FORMAT`: Định dạng log (`legacy` hoặc `modern`)
90
+ ## 📂 Cấu trúc thư mục
132
91
 
133
- ---
92
+ - `src/base`: Các lớp cơ sở cho Model, DataSource, Helper.
93
+ - `src/common`: Các kiểu dữ liệu, hằng số và mã kết quả chung.
94
+ - `src/datasources`: Triển khai các kết nối dữ liệu (Postgres, Redis).
95
+ - `src/helpers`: Các module bổ trợ quan trọng (Logger, Redis).
96
+ - `src/utilities`: Các hàm tiện ích dùng chung.
134
97
 
135
- ## Tài liệu chi tiết
98
+ ## 📖 Tài liệu chi tiết
136
99
 
137
- Xem thêm các hướng dẫn chi tiết tại thư mục `docs/`:
100
+ - [Tài liệu cấu hình Logger](docs/ENHANCED_LOGGER_USAGE.md)
101
+ - [Hướng dẫn cấu hình chung](docs/CONFIG_USAGE.md)
102
+ - [Chi tiết hệ thống xử lý lỗi](docs/ERROR_HANDLING.md)
138
103
 
139
- - [Cấu hình hệ thống Logger](./docs/CONFIG_USAGE.md)
140
- - [Hướng dẫn Logger nâng cao](./docs/ENHANCED_LOGGER_USAGE.md)
141
- - [Chi tiết về infra](./docs/lb-infra.md)
104
+ ## 🛠️ Scripts hỗ trợ (Maintainer)
142
105
 
143
- ---
106
+ - `bun run build`: Biên dịch mã nguồn sang thư mục `dist`.
107
+ - `bun run test`: Chạy bộ test suite (Node.js test runner).
108
+ - `bun run lint`: Kiểm tra chất lượng và định dạng mã nguồn.
144
109
 
145
- ## Liên hệ
146
- **Gennex Technology Team**
110
+ ## 📄 License
111
+ MIT - Gennex Technology.
@@ -1,10 +1,12 @@
1
- import { ApplicationLogger } from '../helpers';
1
+ import { Logger } from '../helpers/logger';
2
2
  export declare class BaseHelper {
3
3
  protected identifier: string;
4
- protected logger: ApplicationLogger;
4
+ protected scope: string;
5
+ private _logger?;
5
6
  constructor(opts: {
6
7
  scope: string;
7
8
  identifier?: string;
8
9
  });
10
+ protected get logger(): Logger;
9
11
  }
10
12
  //# sourceMappingURL=base.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.helper.d.ts","sourceRoot":"","sources":["../../src/base/base.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,WAAW,CAAC;AAE7D,qBAAa,UAAU;IACrB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAExB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAMzD"}
1
+ {"version":3,"file":"base.helper.d.ts","sourceRoot":"","sources":["../../src/base/base.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,kBAAkB,CAAC;AAEzD,qBAAa,UAAU;IACrB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAKxD,SAAS,KAAK,MAAM,IAAI,MAAM,CAO7B;CACF"}
@@ -1,12 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseHelper = void 0;
4
- const helpers_1 = require("../helpers");
4
+ const logger_1 = require("../helpers/logger");
5
5
  class BaseHelper {
6
6
  constructor(opts) {
7
- this.logger = helpers_1.LoggerFactory.getLogger([opts.scope, opts.identifier ?? ''].filter(el => el && el.length > 0));
7
+ this.scope = opts.scope;
8
8
  this.identifier = opts.identifier ?? '';
9
9
  }
10
+ get logger() {
11
+ if (!this._logger) {
12
+ this._logger = logger_1.LoggerFactory.getLogger([this.scope, this.identifier].filter(el => el && el.length > 0));
13
+ }
14
+ return this._logger;
15
+ }
10
16
  }
11
17
  exports.BaseHelper = BaseHelper;
12
18
  //# sourceMappingURL=base.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.helper.js","sourceRoot":"","sources":["../../src/base/base.helper.ts"],"names":[],"mappings":";;;AAAA,uCAA6D;AAE7D,MAAa,UAAU;IAIrB,YAAY,IAA4C;QACtD,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,SAAS,CACnC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CACtE,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1C,CAAC;CACF;AAVD,gCAUC"}
1
+ {"version":3,"file":"base.helper.js","sourceRoot":"","sources":["../../src/base/base.helper.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAEzD,MAAa,UAAU;IAKrB,YAAY,IAA4C;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,IAAc,MAAM;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,sBAAa,CAAC,SAAS,CACpC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAlBD,gCAkBC"}
@@ -1,9 +1,9 @@
1
1
  import { ValueOrPromise } from '../../common';
2
- import { ApplicationLogger } from '../../helpers';
2
+ import { Logger } from '../../helpers';
3
3
  import { Connector, JugglerDataSource } from '@loopback/repository';
4
4
  import { IDataSourceOptions } from './types';
5
5
  export declare class BaseDataSource<S extends IDataSourceOptions = IDataSourceOptions, C extends Connector = Connector> extends JugglerDataSource {
6
- protected logger: ApplicationLogger;
6
+ protected logger: Logger;
7
7
  constructor(opts: {
8
8
  scope: string;
9
9
  settings: S;
@@ -1 +1 @@
1
- {"version":3,"file":"base.datasource.d.ts","sourceRoot":"","sources":["../../../src/base/datasources/base.datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAiB,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,cAAc,CACzB,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EACjD,CAAC,SAAS,SAAS,GAAG,SAAS,CAC/B,SAAQ,iBAAiB;IACzB,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAExB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAA;KAAE;IAY/D,mBAAmB,IAAI,cAAc,CAAC,MAAM,CAAC;CAM9C"}
1
+ {"version":3,"file":"base.datasource.d.ts","sourceRoot":"","sources":["../../../src/base/datasources/base.datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAiB,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,cAAc,CACzB,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,EACjD,CAAC,SAAS,SAAS,GAAG,SAAS,CAC/B,SAAQ,iBAAiB;IACzB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,CAAC,CAAA;KAAE;IAY/D,mBAAmB,IAAI,cAAc,CAAC,MAAM,CAAC;CAM9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.datasource.js","sourceRoot":"","sources":["../../../src/base/datasources/base.datasource.ts"],"names":[],"mappings":";;;AACA,uCAA6D;AAC7D,qDAAoE;AAGpE,MAAa,cAGX,SAAQ,8BAAiB;IAGzB,YAAY,IAAmD;QAC7D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB;QACjB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE1E,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,GAAG,QAAQ,MAAM,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;IACzE,CAAC;CACF;AAxBD,wCAwBC"}
1
+ {"version":3,"file":"base.datasource.js","sourceRoot":"","sources":["../../../src/base/datasources/base.datasource.ts"],"names":[],"mappings":";;;AACA,uCAAkD;AAClD,qDAAoE;AAGpE,MAAa,cAGX,SAAQ,8BAAiB;IAGzB,YAAY,IAAmD;QAC7D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAE5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB;QACjB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE1E,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,GAAG,QAAQ,MAAM,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;IACzE,CAAC;CACF;AAxBD,wCAwBC"}
@@ -1,12 +1,22 @@
1
1
  import { Entity } from '@loopback/repository';
2
2
  export declare class BaseEntity extends Entity {
3
3
  }
4
+ /**
5
+ * Base key-value entity with arbitrary payload
6
+ * @template T - Type of payload data
7
+ */
4
8
  export declare class BaseKVEntity<T = any> extends BaseEntity {
5
9
  payload: T;
6
10
  }
11
+ /**
12
+ * Base entity with auto-generated numeric ID
13
+ */
7
14
  export declare class BaseNumberIdEntity extends BaseEntity {
8
15
  id: number;
9
16
  }
17
+ /**
18
+ * Base entity with string-based (manual) ID
19
+ */
10
20
  export declare class BaseStringIdEntity extends BaseEntity {
11
21
  id: string;
12
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../../src/base/models/base.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAC;AAGxD,qBAAa,UAAW,SAAQ,MAAM;CAAG;AAGzC,qBAAa,YAAY,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,UAAU;IAEnD,OAAO,EAAE,CAAC,CAAC;CACZ;AAGD,qBAAa,kBAAmB,SAAQ,UAAU;IAEhD,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,qBAAa,kBAAmB,SAAQ,UAAU;IAEhD,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,qBAAa,YAAa,SAAQ,kBAAkB;CAAG;AACvD,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../../src/base/models/base.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAC;AAExD,qBAAa,UAAW,SAAQ,MAAM;CAAG;AAEzC;;;GAGG;AACH,qBAAa,YAAY,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,UAAU;IAEnD,OAAO,EAAG,CAAC,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAEhD,EAAE,EAAG,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAEhD,EAAE,EAAG,MAAM,CAAC;CACb;AAED,qBAAa,YAAa,SAAQ,kBAAkB;CAAG;AACvD,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC"}
@@ -11,11 +11,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.BaseIdEntity = exports.BaseStringIdEntity = exports.BaseNumberIdEntity = exports.BaseKVEntity = exports.BaseEntity = void 0;
13
13
  const repository_1 = require("@loopback/repository");
14
- // ---------------------------------------------------------------------
15
14
  class BaseEntity extends repository_1.Entity {
16
15
  }
17
16
  exports.BaseEntity = BaseEntity;
18
- // ---------------------------------------------------------------------
17
+ /**
18
+ * Base key-value entity with arbitrary payload
19
+ * @template T - Type of payload data
20
+ */
19
21
  class BaseKVEntity extends BaseEntity {
20
22
  }
21
23
  exports.BaseKVEntity = BaseKVEntity;
@@ -23,7 +25,9 @@ __decorate([
23
25
  (0, repository_1.property)({ type: 'object' }),
24
26
  __metadata("design:type", Object)
25
27
  ], BaseKVEntity.prototype, "payload", void 0);
26
- // ---------------------------------------------------------------------
28
+ /**
29
+ * Base entity with auto-generated numeric ID
30
+ */
27
31
  class BaseNumberIdEntity extends BaseEntity {
28
32
  }
29
33
  exports.BaseNumberIdEntity = BaseNumberIdEntity;
@@ -31,6 +35,9 @@ __decorate([
31
35
  (0, repository_1.property)({ type: 'number', id: true, generated: true }),
32
36
  __metadata("design:type", Number)
33
37
  ], BaseNumberIdEntity.prototype, "id", void 0);
38
+ /**
39
+ * Base entity with string-based (manual) ID
40
+ */
34
41
  class BaseStringIdEntity extends BaseEntity {
35
42
  }
36
43
  exports.BaseStringIdEntity = BaseStringIdEntity;
@@ -1 +1 @@
1
- {"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../src/base/models/base.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwD;AAExD,wEAAwE;AACxE,MAAa,UAAW,SAAQ,mBAAM;CAAG;AAAzC,gCAAyC;AAEzC,wEAAwE;AACxE,MAAa,YAAsB,SAAQ,UAAU;CAGpD;AAHD,oCAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;6CAClB;AAGb,wEAAwE;AACxE,MAAa,kBAAmB,SAAQ,UAAU;CAGjD;AAHD,gDAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;8CAC7C;AAEb,MAAa,kBAAmB,SAAQ,UAAU;CAGjD;AAHD,gDAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;;8CAC5B;AAEb,MAAa,YAAa,SAAQ,kBAAkB;CAAG;AAAvD,oCAAuD"}
1
+ {"version":3,"file":"base.model.js","sourceRoot":"","sources":["../../../src/base/models/base.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAwD;AAExD,MAAa,UAAW,SAAQ,mBAAM;CAAG;AAAzC,gCAAyC;AAEzC;;;GAGG;AACH,MAAa,YAAsB,SAAQ,UAAU;CAGpD;AAHD,oCAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;6CACjB;AAGd;;GAEG;AACH,MAAa,kBAAmB,SAAQ,UAAU;CAGjD;AAHD,gDAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;8CAC5C;AAGd;;GAEG;AACH,MAAa,kBAAmB,SAAQ,UAAU;CAGjD;AAHD,gDAGC;AADC;IADC,IAAA,qBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;;8CAC3B;AAGd,MAAa,YAAa,SAAQ,kBAAkB;CAAG;AAAvD,oCAAuD"}
@@ -1,4 +1,4 @@
1
- import { RedisHelper } from '../../helpers';
1
+ import { RedisHelper } from '../../helpers/redis/redis.helper';
2
2
  import { Class, Entity, EntityData, Filter, Model, Options } from '@loopback/repository';
3
3
  import EventEmitter from 'node:events';
4
4
  import { IRedisConnector, IRedisOptions } from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEzD,qBAAa,cAAe,YAAW,eAAe;IACpD,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,aAAa,CAAC;IAExB,WAAW,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAEtB,IAAI,EAAE;QAAE,QAAQ,EAAE,aAAa,CAAA;KAAE;IAI7C,UAAU,CACR,CAAC,SAAS,YAAY,GAAG;QACvB,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,KAAK,EAAE,OAAO,CAAC;KAChB,EACD,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC,CAAA;KAAE;IAsBtB,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IASrF,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAc1E,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBpF,GAAG,CACD,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC,OAAO,CAAC;IASnB,MAAM,CACJ,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC;IAInB,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAS/F,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASvE,WAAW,CAAC,CACV,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAC1B,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAInC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWrB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAC5B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9D,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC;CAad"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RedisConnector = void 0;
4
- const helpers_1 = require("../../helpers");
4
+ const redis_helper_1 = require("../../helpers/redis/redis.helper");
5
5
  const utilities_1 = require("../../utilities");
6
6
  class RedisConnector {
7
7
  constructor(opts) {
8
8
  this.settings = opts.settings;
9
9
  }
10
10
  initialize(opts) {
11
- this.redisHelper = new helpers_1.RedisHelper({
11
+ this.redisHelper = new redis_helper_1.RedisHelper({
12
12
  ...this.settings,
13
13
  port: (0, utilities_1.int)(this.settings.port),
14
14
  onInitialized: () => {
@@ -72,7 +72,9 @@ class RedisConnector {
72
72
  });
73
73
  }
74
74
  expire(_modelClass, _key, _ttl, _options) {
75
- throw new Error('Method not implemented.');
75
+ throw new utilities_1.NotImplementedError('expire', {
76
+ connector: this.constructor.name,
77
+ });
76
78
  }
77
79
  ttl(_modelClass, key, _ttl, _options) {
78
80
  return new Promise((resolve, reject) => {
@@ -91,7 +93,9 @@ class RedisConnector {
91
93
  });
92
94
  }
93
95
  iterateKeys(_modelClass, _filter, _options) {
94
- throw new Error('Method not implemented.');
96
+ throw new utilities_1.NotImplementedError('iterateKeys', {
97
+ connector: this.constructor.name,
98
+ });
95
99
  }
96
100
  connect() {
97
101
  return new Promise(resolve => {
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../../src/datasources/redis/connector.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { IDataSourceOptions } from '../../base/datasources';
2
- import { IRedisHelperProps, RedisHelper } from '../../helpers';
2
+ import { IRedisHelperProps, RedisHelper } from '../../helpers/redis';
3
3
  import { Entity, KVConnector, Options } from '@loopback/repository';
4
4
  export interface IRedisOptions extends IDataSourceOptions, IRedisHelperProps {
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/datasources/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,WAAW,aAAc,SAAQ,kBAAkB,EAAE,iBAAiB;CAAG;AAE/E,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC7E,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAC5B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9D,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/datasources/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,WAAW,aAAc,SAAQ,kBAAkB,EAAE,iBAAiB;CAAG;AAE/E,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC7E,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAC5B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9D,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7D"}
@@ -15,8 +15,5 @@ export declare class Logger {
15
15
  info(message: string, ...args: any[]): void;
16
16
  warn(message: string, ...args: any[]): void;
17
17
  error(message: string, ...args: any[]): void;
18
- emerg(message: string, ...args: any[]): void;
19
- }
20
- export declare class ApplicationLogger extends Logger {
21
18
  }
22
19
  //# sourceMappingURL=application-logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application-logger.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/application-logger.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAcrC,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IAExE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAiB;gBAE1B,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAA;KAAE;IAKpD,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,eAAe;IAavB,SAAS,CAAC,KAAK,EAAE,MAAM;IAevB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAarD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAarC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAKpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAKpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAKrC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAGtC;AAED,qBAAa,iBAAkB,SAAQ,MAAM;CAAG"}
1
+ {"version":3,"file":"application-logger.d.ts","sourceRoot":"","sources":["../../../src/helpers/logger/application-logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAcrC,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAiB;gBAE1B,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAA;KAAE;IAIpD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;IAOvB,SAAS,CAAC,KAAK,EAAE,MAAM;IAYvB,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAQrD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAUrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAGpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAGpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAGtC"}
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ApplicationLogger = exports.Logger = void 0;
7
- const utilities_1 = require("../../utilities");
8
- const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
3
+ exports.Logger = void 0;
4
+ const error_utility_1 = require("../../utilities/error.utility");
5
+ const lodash_utility_1 = require("../../utilities/lodash.utility");
9
6
  const default_logger_1 = require("./default-logger");
10
7
  const extraLogEnvs = (process.env.APP_ENV_EXTRA_LOG_ENVS ?? '').split(',').map(el => el.trim()) ?? [];
11
8
  const LOG_ENVIRONMENTS = new Set([
@@ -22,21 +19,15 @@ class Logger {
22
19
  this.scopes = [];
23
20
  this.customLogger = opts?.customLogger;
24
21
  }
25
- // ---------------------------------------------------------------------
26
22
  getLogger() {
27
23
  return this.customLogger ?? default_logger_1.applicationLogger;
28
24
  }
29
- // ---------------------------------------------------------------------
30
25
  _enhanceMessage(parts, message) {
31
26
  const enhanced = parts?.reduce((prevState = '', current) => {
32
- if ((0, isEmpty_1.default)(prevState)) {
33
- return current;
34
- }
35
- return prevState.concat(`-${current}`);
27
+ return (0, lodash_utility_1.isEmpty)(prevState) ? current : prevState.concat(`-${current}`);
36
28
  }, '');
37
- return `[${enhanced}]${message}`;
29
+ return `[${enhanced}] ${message}`;
38
30
  }
39
- // ---------------------------------------------------------------------
40
31
  withScope(scope) {
41
32
  if (this.scopes.length < 2) {
42
33
  this.scopes.push(scope);
@@ -48,18 +39,13 @@ class Logger {
48
39
  this.scopes[1] = scope;
49
40
  return this;
50
41
  }
51
- // ---------------------------------------------------------------------
52
42
  log(level, message, ...args) {
53
43
  const logger = this.getLogger();
54
44
  if (!logger) {
55
- throw (0, utilities_1.getError)({
56
- message: `[doLog] Level: ${level} | Invalid logger instance!`,
57
- });
45
+ throw (0, error_utility_1.getError)({ message: `[Log] Level: ${level} | Invalid logger instance!` });
58
46
  }
59
- const enhanced = this._enhanceMessage(this.scopes, message);
60
- logger.log(level, enhanced, ...args);
47
+ logger.log(level, this._enhanceMessage(this.scopes, message), ...args);
61
48
  }
62
- // ---------------------------------------------------------------------
63
49
  debug(message, ...args) {
64
50
  if (this.environment && !LOG_ENVIRONMENTS.has(this.environment)) {
65
51
  return;
@@ -69,25 +55,15 @@ class Logger {
69
55
  }
70
56
  this.log('debug', message, ...args);
71
57
  }
72
- // ---------------------------------------------------------------------
73
58
  info(message, ...args) {
74
59
  this.log('info', message, ...args);
75
60
  }
76
- // ---------------------------------------------------------------------
77
61
  warn(message, ...args) {
78
62
  this.log('warn', message, ...args);
79
63
  }
80
- // ---------------------------------------------------------------------
81
64
  error(message, ...args) {
82
65
  this.log('error', message, ...args);
83
66
  }
84
- // ---------------------------------------------------------------------
85
- emerg(message, ...args) {
86
- this.log('emerg', message, ...args);
87
- }
88
67
  }
89
68
  exports.Logger = Logger;
90
- class ApplicationLogger extends Logger {
91
- }
92
- exports.ApplicationLogger = ApplicationLogger;
93
69
  //# sourceMappingURL=application-logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/application-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/application-logger.ts"],"names":[],"mappings":"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"}
@@ -14,14 +14,7 @@ export declare class LogLevels {
14
14
  }
15
15
  export type TLogLevel = TConstValue<typeof LogLevels>;
16
16
  export type TLogFormat = 'legacy' | 'modern';
17
- export type TLogMode = 'legacy' | 'modern';
18
17
  export type TRequestIDSystem = 'asyncLocalStorage' | 'requestContext';
19
- export declare class LogModes {
20
- static readonly LEGACY = "legacy";
21
- static readonly MODERN = "modern";
22
- static readonly MODE_SET: Set<string>;
23
- static isValid(input: string): boolean;
24
- }
25
18
  export declare class RequestIDSystems {
26
19
  static readonly ASYNC_LOCAL_STORAGE = "asyncLocalStorage";
27
20
  static readonly REQUEST_CONTEXT = "requestContext";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/helpers/logger/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAUvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC7C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC3C,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AACtE,qBAAa,QAAQ;IACnB,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAElC,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAAuC;IAE/D,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,mBAAmB,uBAAuB;IAC1D,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IAEnD,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA6D;IAEvF,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/helpers/logger/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAa;IACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAUvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAEtE,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAC,mBAAmB,uBAAuB;IAC1D,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IAEnD,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA6D;IAEvF,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC"}