@elsikora/nestjs-crud-config 1.0.1-dev.1 → 1.1.0-dev.1
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/README.md +644 -286
- package/dist/cjs/index.js +26 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/modules/config/config.module.js +67 -1
- package/dist/cjs/modules/config/config.module.js.map +1 -1
- package/dist/cjs/modules/config/config.service.js +55 -98
- package/dist/cjs/modules/config/config.service.js.map +1 -1
- package/dist/cjs/modules/config/data/entity/entity.js +1 -0
- package/dist/cjs/modules/config/data/entity/entity.js.map +1 -1
- package/dist/cjs/modules/config/index.d.ts +2 -0
- package/dist/cjs/modules/config/migration/entity/entity.d.ts +12 -0
- package/dist/cjs/modules/config/migration/entity/entity.js +139 -0
- package/dist/cjs/modules/config/migration/entity/entity.js.map +1 -0
- package/dist/cjs/modules/config/migration/entity/index.d.ts +1 -0
- package/dist/cjs/modules/config/migration/enum/index.d.ts +1 -0
- package/dist/cjs/modules/config/migration/enum/status.d.ts +7 -0
- package/dist/cjs/modules/config/migration/enum/status.js +11 -0
- package/dist/cjs/modules/config/migration/enum/status.js.map +1 -0
- package/dist/cjs/modules/config/migration/index.d.ts +5 -0
- package/dist/cjs/modules/config/migration/interface/index.d.ts +3 -0
- package/dist/cjs/modules/config/migration/interface/interface.d.ts +11 -0
- package/dist/cjs/modules/config/migration/interface/migration-definition.interface.d.ts +29 -0
- package/dist/cjs/modules/config/migration/interface/migration-options.interface.d.ts +34 -0
- package/dist/cjs/modules/config/migration/migration-runner.service.d.ts +22 -0
- package/dist/cjs/modules/config/migration/migration-runner.service.js +85 -0
- package/dist/cjs/modules/config/migration/migration-runner.service.js.map +1 -0
- package/dist/cjs/modules/config/migration/migration.service.d.ts +68 -0
- package/dist/cjs/modules/config/migration/migration.service.js +331 -0
- package/dist/cjs/modules/config/migration/migration.service.js.map +1 -0
- package/dist/cjs/modules/config/section/entity/entity.js +1 -0
- package/dist/cjs/modules/config/section/entity/entity.js.map +1 -1
- package/dist/cjs/package.json +2 -1
- package/dist/cjs/shared/constant/config/index.d.ts +1 -0
- package/dist/cjs/shared/constant/config/migration.constant.d.ts +6 -0
- package/dist/cjs/shared/constant/config/migration.constant.js +15 -0
- package/dist/cjs/shared/constant/config/migration.constant.js.map +1 -0
- package/dist/cjs/shared/constant/token.constant.d.ts +2 -0
- package/dist/cjs/shared/constant/token.constant.js +4 -0
- package/dist/cjs/shared/constant/token.constant.js.map +1 -1
- package/dist/cjs/shared/interface/config/options.interface.d.ts +3 -2
- package/dist/cjs/shared/utility/index.d.ts +1 -0
- package/dist/cjs/shared/utility/logger.utility.d.ts +21 -0
- package/dist/cjs/shared/utility/logger.utility.js +67 -0
- package/dist/cjs/shared/utility/logger.utility.js.map +1 -0
- package/dist/esm/index.js +10 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/modules/config/config.module.js +67 -1
- package/dist/esm/modules/config/config.module.js.map +1 -1
- package/dist/esm/modules/config/config.service.js +56 -99
- package/dist/esm/modules/config/config.service.js.map +1 -1
- package/dist/esm/modules/config/data/entity/entity.js +1 -0
- package/dist/esm/modules/config/data/entity/entity.js.map +1 -1
- package/dist/esm/modules/config/index.d.ts +2 -0
- package/dist/esm/modules/config/migration/entity/entity.d.ts +12 -0
- package/dist/esm/modules/config/migration/entity/entity.js +137 -0
- package/dist/esm/modules/config/migration/entity/entity.js.map +1 -0
- package/dist/esm/modules/config/migration/entity/index.d.ts +1 -0
- package/dist/esm/modules/config/migration/enum/index.d.ts +1 -0
- package/dist/esm/modules/config/migration/enum/status.d.ts +7 -0
- package/dist/esm/modules/config/migration/enum/status.js +11 -0
- package/dist/esm/modules/config/migration/enum/status.js.map +1 -0
- package/dist/esm/modules/config/migration/index.d.ts +5 -0
- package/dist/esm/modules/config/migration/interface/index.d.ts +3 -0
- package/dist/esm/modules/config/migration/interface/interface.d.ts +11 -0
- package/dist/esm/modules/config/migration/interface/migration-definition.interface.d.ts +29 -0
- package/dist/esm/modules/config/migration/interface/migration-options.interface.d.ts +34 -0
- package/dist/esm/modules/config/migration/migration-runner.service.d.ts +22 -0
- package/dist/esm/modules/config/migration/migration-runner.service.js +85 -0
- package/dist/esm/modules/config/migration/migration-runner.service.js.map +1 -0
- package/dist/esm/modules/config/migration/migration.service.d.ts +68 -0
- package/dist/esm/modules/config/migration/migration.service.js +331 -0
- package/dist/esm/modules/config/migration/migration.service.js.map +1 -0
- package/dist/esm/modules/config/section/entity/entity.js +1 -0
- package/dist/esm/modules/config/section/entity/entity.js.map +1 -1
- package/dist/esm/package.json +2 -1
- package/dist/esm/shared/constant/config/index.d.ts +1 -0
- package/dist/esm/shared/constant/config/migration.constant.d.ts +6 -0
- package/dist/esm/shared/constant/config/migration.constant.js +13 -0
- package/dist/esm/shared/constant/config/migration.constant.js.map +1 -0
- package/dist/esm/shared/constant/token.constant.d.ts +2 -0
- package/dist/esm/shared/constant/token.constant.js +4 -0
- package/dist/esm/shared/constant/token.constant.js.map +1 -1
- package/dist/esm/shared/interface/config/options.interface.d.ts +3 -2
- package/dist/esm/shared/utility/index.d.ts +1 -0
- package/dist/esm/shared/utility/logger.utility.d.ts +21 -0
- package/dist/esm/shared/utility/logger.utility.js +67 -0
- package/dist/esm/shared/utility/logger.utility.js.map +1 -0
- package/package.json +4 -2
package/dist/cjs/index.js
CHANGED
|
@@ -2,18 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
var config_module = require('./modules/config/config.module.js');
|
|
4
4
|
var config_service = require('./modules/config/config.service.js');
|
|
5
|
+
require('@elsikora/nestjs-crud-automator');
|
|
5
6
|
var apiProperty_constant = require('./shared/constant/api-property.constant.js');
|
|
6
7
|
var data_constant = require('./shared/constant/config/data.constant.js');
|
|
8
|
+
var migration_constant = require('./shared/constant/config/migration.constant.js');
|
|
7
9
|
var section_constant = require('./shared/constant/config/section.constant.js');
|
|
8
10
|
var crypto_constant = require('./shared/constant/crypto.constant.js');
|
|
9
11
|
var token_constant = require('./shared/constant/token.constant.js');
|
|
10
|
-
var environment_enum = require('./shared/enum/environment.enum.js');
|
|
11
|
-
var instanceName_enum = require('./shared/enum/instance-name.enum.js');
|
|
12
|
-
var service_enum = require('./shared/enum/service.enum.js');
|
|
13
12
|
var entity_utility = require('./shared/utility/create-dynamic/entity.utility.js');
|
|
14
13
|
var service_utility = require('./shared/utility/create-dynamic/service.utility.js');
|
|
15
14
|
var createDynamicEntity_utility = require('./shared/utility/create-dynamic-entity.utility.js');
|
|
16
15
|
var crypto_utility = require('./shared/utility/crypto.utility.js');
|
|
16
|
+
var logger_utility = require('./shared/utility/logger.utility.js');
|
|
17
|
+
require('typeorm');
|
|
18
|
+
var status = require('./modules/config/migration/enum/status.js');
|
|
19
|
+
require('./modules/config/migration/migration-runner.service.js');
|
|
20
|
+
require('./modules/config/migration/migration.service.js');
|
|
21
|
+
var environment_enum = require('./shared/enum/environment.enum.js');
|
|
22
|
+
var instanceName_enum = require('./shared/enum/instance-name.enum.js');
|
|
23
|
+
var service_enum = require('./shared/enum/service.enum.js');
|
|
17
24
|
|
|
18
25
|
|
|
19
26
|
|
|
@@ -27,9 +34,25 @@ Object.defineProperty(exports, "CrudConfigService", {
|
|
|
27
34
|
});
|
|
28
35
|
exports.API_PROPERTY_CONSTANT = apiProperty_constant.API_PROPERTY_CONSTANT;
|
|
29
36
|
exports.CONFIG_DATA_CONSTANT = data_constant.CONFIG_DATA_CONSTANT;
|
|
37
|
+
exports.CONFIG_MIGRATION_CONSTANT = migration_constant.CONFIG_MIGRATION_CONSTANT;
|
|
30
38
|
exports.CONFIG_SECTION_CONSTANT = section_constant.CONFIG_SECTION_CONSTANT;
|
|
31
39
|
exports.CRYPTO_CONSTANT = crypto_constant.CRYPTO_CONSTANT;
|
|
32
40
|
exports.TOKEN_CONSTANT = token_constant.TOKEN_CONSTANT;
|
|
41
|
+
exports.createDynamicEntityClass = entity_utility.createDynamicEntityClass;
|
|
42
|
+
exports.createDynamicService = service_utility.createDynamicService;
|
|
43
|
+
exports.createDynamicEntityUtility = createDynamicEntity_utility.createDynamicEntityClass;
|
|
44
|
+
Object.defineProperty(exports, "CryptoUtility", {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () { return crypto_utility.CryptoUtility; }
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "LoggerUtility", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () { return logger_utility.LoggerUtility; }
|
|
51
|
+
});
|
|
52
|
+
Object.defineProperty(exports, "EConfigMigrationStatus", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () { return status.EConfigMigrationStatus; }
|
|
55
|
+
});
|
|
33
56
|
Object.defineProperty(exports, "EEnvironment", {
|
|
34
57
|
enumerable: true,
|
|
35
58
|
get: function () { return environment_enum.EEnvironment; }
|
|
@@ -42,11 +65,4 @@ Object.defineProperty(exports, "EService", {
|
|
|
42
65
|
enumerable: true,
|
|
43
66
|
get: function () { return service_enum.EService; }
|
|
44
67
|
});
|
|
45
|
-
exports.createDynamicEntityClass = entity_utility.createDynamicEntityClass;
|
|
46
|
-
exports.createDynamicService = service_utility.createDynamicService;
|
|
47
|
-
exports.createDynamicEntityUtility = createDynamicEntity_utility.createDynamicEntityClass;
|
|
48
|
-
Object.defineProperty(exports, "CryptoUtility", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function () { return crypto_utility.CryptoUtility; }
|
|
51
|
-
});
|
|
52
68
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,17 +5,23 @@ var controller$1 = require('./data/controller.js');
|
|
|
5
5
|
var entity$1 = require('./data/entity/entity.js');
|
|
6
6
|
var beforeInsert_listener = require('./data/listener/before-insert.listener.js');
|
|
7
7
|
var beforeInsert_subscriber = require('./data/subscriber/before-insert.subscriber.js');
|
|
8
|
+
var entity$2 = require('./migration/entity/entity.js');
|
|
9
|
+
require('./migration/enum/status.js');
|
|
10
|
+
var migrationRunner_service = require('./migration/migration-runner.service.js');
|
|
11
|
+
var migration_service = require('./migration/migration.service.js');
|
|
8
12
|
var entity = require('./section/entity/entity.js');
|
|
9
13
|
var controller = require('./section/controller.js');
|
|
10
14
|
var cacheManager = require('@nestjs/cache-manager');
|
|
11
15
|
var common = require('@nestjs/common');
|
|
12
16
|
var typeorm = require('@nestjs/typeorm');
|
|
13
17
|
var data_constant = require('../../shared/constant/config/data.constant.js');
|
|
18
|
+
var migration_constant = require('../../shared/constant/config/migration.constant.js');
|
|
14
19
|
var section_constant = require('../../shared/constant/config/section.constant.js');
|
|
15
20
|
var token_constant = require('../../shared/constant/token.constant.js');
|
|
16
21
|
require('typeorm');
|
|
17
22
|
var service_utility = require('../../shared/utility/create-dynamic/service.utility.js');
|
|
18
|
-
require('../../shared/utility/crypto.utility.js');
|
|
23
|
+
var crypto_utility = require('../../shared/utility/crypto.utility.js');
|
|
24
|
+
require('../../shared/utility/logger.utility.js');
|
|
19
25
|
var config_service = require('./config.service.js');
|
|
20
26
|
|
|
21
27
|
var CrudConfigModule_1;
|
|
@@ -40,6 +46,10 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
40
46
|
tableName: prefix +
|
|
41
47
|
(options.entityOptions?.configData?.tableName ?? data_constant.CONFIG_DATA_CONSTANT.DEFAULT_TABLE_NAME),
|
|
42
48
|
});
|
|
49
|
+
const migrationEntity = entity$2.createConfigMigrationEntity({
|
|
50
|
+
maxNameLength: options.migrationOptions?.maxNameLength ?? migration_constant.CONFIG_MIGRATION_CONSTANT.MAX_NAME_LENGTH,
|
|
51
|
+
tableName: prefix + (options.migrationOptions?.tableName ?? migration_constant.CONFIG_MIGRATION_CONSTANT.DEFAULT_TABLE_NAME),
|
|
52
|
+
});
|
|
43
53
|
const propertiesProvider = {
|
|
44
54
|
provide: token_constant.TOKEN_CONSTANT.CONFIG_OPTIONS,
|
|
45
55
|
useValue: options,
|
|
@@ -52,6 +62,10 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
52
62
|
provide: token_constant.TOKEN_CONSTANT.CONFIG_DATA_ENTITY,
|
|
53
63
|
useValue: dataEntity,
|
|
54
64
|
};
|
|
65
|
+
const migrationEntityProvider = {
|
|
66
|
+
provide: token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_ENTITY,
|
|
67
|
+
useValue: migrationEntity,
|
|
68
|
+
};
|
|
55
69
|
const sectionRepositoryProvider = {
|
|
56
70
|
inject: [typeorm.getDataSourceToken()],
|
|
57
71
|
provide: typeorm.getRepositoryToken(sectionEntity),
|
|
@@ -66,6 +80,13 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
66
80
|
return dataSource.getRepository(dataEntity);
|
|
67
81
|
},
|
|
68
82
|
};
|
|
83
|
+
const migrationRepositoryProvider = {
|
|
84
|
+
inject: [typeorm.getDataSourceToken()],
|
|
85
|
+
provide: typeorm.getRepositoryToken(migrationEntity),
|
|
86
|
+
useFactory: (dataSource) => {
|
|
87
|
+
return dataSource.getRepository(migrationEntity);
|
|
88
|
+
},
|
|
89
|
+
};
|
|
69
90
|
const DynamicConfigSectionService = service_utility.createDynamicService(sectionEntity, "ConfigSectionService");
|
|
70
91
|
const DynamicConfigDataService = service_utility.createDynamicService(dataEntity, "ConfigDataService");
|
|
71
92
|
const sectionServiceProvider = {
|
|
@@ -76,6 +97,11 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
76
97
|
provide: token_constant.TOKEN_CONSTANT.CONFIG_DATA_SERVICE,
|
|
77
98
|
useClass: DynamicConfigDataService,
|
|
78
99
|
};
|
|
100
|
+
const DynamicConfigMigrationService = service_utility.createDynamicService(migrationEntity, "ConfigMigrationService");
|
|
101
|
+
const migrationServiceProvider = {
|
|
102
|
+
provide: token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_SERVICE,
|
|
103
|
+
useClass: DynamicConfigMigrationService,
|
|
104
|
+
};
|
|
79
105
|
const DynamicConfigSectionController = options.controllersOptions?.section?.isEnabled === false
|
|
80
106
|
? null
|
|
81
107
|
: controller.createDynamicSectionController(sectionEntity, options.controllersOptions?.section);
|
|
@@ -100,8 +126,13 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
100
126
|
config_service.CrudConfigService,
|
|
101
127
|
token_constant.TOKEN_CONSTANT.CONFIG_SECTION_ENTITY,
|
|
102
128
|
token_constant.TOKEN_CONSTANT.CONFIG_DATA_ENTITY,
|
|
129
|
+
token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_ENTITY,
|
|
103
130
|
token_constant.TOKEN_CONSTANT.CONFIG_SECTION_SERVICE,
|
|
104
131
|
token_constant.TOKEN_CONSTANT.CONFIG_DATA_SERVICE,
|
|
132
|
+
token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_SERVICE,
|
|
133
|
+
migration_service.ConfigMigrationService,
|
|
134
|
+
migrationRunner_service.ConfigMigrationRunnerService,
|
|
135
|
+
crypto_utility.CryptoUtility,
|
|
105
136
|
],
|
|
106
137
|
imports,
|
|
107
138
|
module: CrudConfigModule_1,
|
|
@@ -109,13 +140,19 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
109
140
|
propertiesProvider,
|
|
110
141
|
sectionEntityProvider,
|
|
111
142
|
dataEntityProvider,
|
|
143
|
+
migrationEntityProvider,
|
|
112
144
|
sectionRepositoryProvider,
|
|
113
145
|
dataRepositoryProvider,
|
|
146
|
+
migrationRepositoryProvider,
|
|
114
147
|
sectionServiceProvider,
|
|
115
148
|
dataServiceProvider,
|
|
149
|
+
migrationServiceProvider,
|
|
116
150
|
config_service.CrudConfigService,
|
|
151
|
+
migration_service.ConfigMigrationService,
|
|
152
|
+
migrationRunner_service.ConfigMigrationRunnerService,
|
|
117
153
|
beforeInsert_listener.ConfigDataBeforeInsertListener,
|
|
118
154
|
beforeInsert_subscriber.ConfigDataBeforeInsertSubscriber,
|
|
155
|
+
crypto_utility.CryptoUtility,
|
|
119
156
|
],
|
|
120
157
|
};
|
|
121
158
|
}
|
|
@@ -162,6 +199,18 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
162
199
|
});
|
|
163
200
|
},
|
|
164
201
|
},
|
|
202
|
+
{
|
|
203
|
+
inject: [token_constant.TOKEN_CONSTANT.CONFIG_OPTIONS],
|
|
204
|
+
provide: token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_ENTITY,
|
|
205
|
+
useFactory: (options) => {
|
|
206
|
+
const prefix = options.entityOptions?.tablePrefix ?? "";
|
|
207
|
+
return entity$2.createConfigMigrationEntity({
|
|
208
|
+
maxNameLength: options.migrationOptions?.maxNameLength ?? migration_constant.CONFIG_MIGRATION_CONSTANT.MAX_NAME_LENGTH,
|
|
209
|
+
tableName: prefix +
|
|
210
|
+
(options.migrationOptions?.tableName ?? migration_constant.CONFIG_MIGRATION_CONSTANT.DEFAULT_TABLE_NAME),
|
|
211
|
+
});
|
|
212
|
+
},
|
|
213
|
+
},
|
|
165
214
|
{
|
|
166
215
|
inject: [typeorm.getDataSourceToken(), token_constant.TOKEN_CONSTANT.CONFIG_SECTION_ENTITY],
|
|
167
216
|
provide: token_constant.TOKEN_CONSTANT.CONFIG_SECTION_SERVICE,
|
|
@@ -180,9 +229,21 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
180
229
|
return new DynamicService(repository);
|
|
181
230
|
},
|
|
182
231
|
},
|
|
232
|
+
{
|
|
233
|
+
inject: [typeorm.getDataSourceToken(), token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_ENTITY],
|
|
234
|
+
provide: token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_SERVICE,
|
|
235
|
+
useFactory: (dataSource, migrationEntity) => {
|
|
236
|
+
const repository = dataSource.getRepository(migrationEntity);
|
|
237
|
+
const DynamicService = service_utility.createDynamicService(migrationEntity, "ConfigMigrationService");
|
|
238
|
+
return new DynamicService(repository);
|
|
239
|
+
},
|
|
240
|
+
},
|
|
183
241
|
config_service.CrudConfigService,
|
|
242
|
+
migration_service.ConfigMigrationService,
|
|
243
|
+
migrationRunner_service.ConfigMigrationRunnerService,
|
|
184
244
|
beforeInsert_listener.ConfigDataBeforeInsertListener,
|
|
185
245
|
beforeInsert_subscriber.ConfigDataBeforeInsertSubscriber,
|
|
246
|
+
crypto_utility.CryptoUtility,
|
|
186
247
|
];
|
|
187
248
|
if (properties.useClass) {
|
|
188
249
|
providers.push({
|
|
@@ -197,8 +258,13 @@ exports.CrudConfigModule = CrudConfigModule_1 = class CrudConfigModule {
|
|
|
197
258
|
token_constant.TOKEN_CONSTANT.CONFIG_OPTIONS,
|
|
198
259
|
token_constant.TOKEN_CONSTANT.CONFIG_SECTION_ENTITY,
|
|
199
260
|
token_constant.TOKEN_CONSTANT.CONFIG_DATA_ENTITY,
|
|
261
|
+
token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_ENTITY,
|
|
200
262
|
token_constant.TOKEN_CONSTANT.CONFIG_SECTION_SERVICE,
|
|
201
263
|
token_constant.TOKEN_CONSTANT.CONFIG_DATA_SERVICE,
|
|
264
|
+
token_constant.TOKEN_CONSTANT.CONFIG_MIGRATION_SERVICE,
|
|
265
|
+
migration_service.ConfigMigrationService,
|
|
266
|
+
migrationRunner_service.ConfigMigrationRunnerService,
|
|
267
|
+
crypto_utility.CryptoUtility,
|
|
202
268
|
],
|
|
203
269
|
imports: [...(properties.imports ?? [])],
|
|
204
270
|
module: CrudConfigModule_1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.module.js","sources":["../../../../../src/modules/config/config.module.ts"],"sourcesContent":[null],"names":["CrudConfigModule","createConfigSectionEntity","CONFIG_SECTION_CONSTANT","createConfigDataEntity","CONFIG_DATA_CONSTANT","TOKEN_CONSTANT","getDataSourceToken","getRepositoryToken","createDynamicService","createDynamicSectionController","createDynamicDataController","CacheModule","CrudConfigService","ConfigDataBeforeInsertListener","ConfigDataBeforeInsertSubscriber","__decorate","Global","Module"],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.module.js","sources":["../../../../../src/modules/config/config.module.ts"],"sourcesContent":[null],"names":["CrudConfigModule","createConfigSectionEntity","CONFIG_SECTION_CONSTANT","createConfigDataEntity","CONFIG_DATA_CONSTANT","createConfigMigrationEntity","CONFIG_MIGRATION_CONSTANT","TOKEN_CONSTANT","getDataSourceToken","getRepositoryToken","createDynamicService","createDynamicSectionController","createDynamicDataController","CacheModule","CrudConfigService","ConfigMigrationService","ConfigMigrationRunnerService","CryptoUtility","ConfigDataBeforeInsertListener","ConfigDataBeforeInsertSubscriber","__decorate","Global","Module"],"mappings":"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"}
|
|
@@ -8,20 +8,20 @@ var token_constant = require('../../shared/constant/token.constant.js');
|
|
|
8
8
|
var typeorm = require('typeorm');
|
|
9
9
|
require('@nestjs/typeorm');
|
|
10
10
|
var crypto_utility = require('../../shared/utility/crypto.utility.js');
|
|
11
|
+
var logger_utility = require('../../shared/utility/logger.utility.js');
|
|
11
12
|
|
|
12
|
-
var CrudConfigService_1;
|
|
13
13
|
/**
|
|
14
14
|
* Service for managing configuration data with caching support
|
|
15
15
|
* Provides methods to retrieve configuration values with optional decryption
|
|
16
16
|
*/
|
|
17
|
-
exports.CrudConfigService =
|
|
17
|
+
exports.CrudConfigService = class CrudConfigService {
|
|
18
18
|
sectionService;
|
|
19
19
|
dataService;
|
|
20
20
|
cacheManager;
|
|
21
21
|
options;
|
|
22
22
|
dataSource;
|
|
23
23
|
cryptoUtility;
|
|
24
|
-
LOGGER =
|
|
24
|
+
LOGGER = logger_utility.LoggerUtility.getLogger("CrudConfigService");
|
|
25
25
|
constructor(sectionService, dataService, cacheManager, options, dataSource, cryptoUtility) {
|
|
26
26
|
this.sectionService = sectionService;
|
|
27
27
|
this.dataService = dataService;
|
|
@@ -36,9 +36,11 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
36
36
|
* @returns {Promise<void>} Promise resolving when the configuration is deleted
|
|
37
37
|
*/
|
|
38
38
|
async delete(options) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
const maskedOptions = {
|
|
40
|
+
...options,
|
|
41
|
+
eventManager: options.eventManager ? "[EntityManager]" : undefined,
|
|
42
|
+
};
|
|
43
|
+
this.LOGGER.verbose(`Entering delete method with options: ${JSON.stringify(maskedOptions)}`);
|
|
42
44
|
const { environment, eventManager, name, section: sectionName } = options;
|
|
43
45
|
const finalEnvironment = environment ?? this.options?.environment ?? "default";
|
|
44
46
|
try {
|
|
@@ -58,9 +60,7 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
catch (error) {
|
|
61
|
-
|
|
62
|
-
this.LOGGER.error(`Error in delete method: ${error.message}`);
|
|
63
|
-
}
|
|
63
|
+
this.LOGGER.error(`Error in delete method: ${error.message}`);
|
|
64
64
|
if (error instanceof common.HttpException) {
|
|
65
65
|
throw error;
|
|
66
66
|
}
|
|
@@ -73,9 +73,11 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
73
73
|
* @returns {Promise<IConfigData>} Promise resolving to the configuration data
|
|
74
74
|
*/
|
|
75
75
|
async get(options) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
const maskedOptions = {
|
|
77
|
+
...options,
|
|
78
|
+
eventManager: options.eventManager ? "[EntityManager]" : undefined,
|
|
79
|
+
};
|
|
80
|
+
this.LOGGER.verbose(`Entering get method with options: ${JSON.stringify(maskedOptions)}`);
|
|
79
81
|
const { environment, eventManager, name, section, shouldLoadSectionInfo, useCache, } = options;
|
|
80
82
|
const finalEnvironment = environment ?? this.options?.environment ?? "default";
|
|
81
83
|
const cacheKey = `config:${section}:${name}:${finalEnvironment}`;
|
|
@@ -84,20 +86,14 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
84
86
|
if (useCache && this.options?.cacheOptions?.isEnabled && this.cacheManager) {
|
|
85
87
|
const cachedData = await this.cacheManager.get(cacheKey);
|
|
86
88
|
if (cachedData) {
|
|
87
|
-
|
|
88
|
-
this.LOGGER.verbose(`Returning cached config data for ${name}`);
|
|
89
|
-
}
|
|
89
|
+
this.LOGGER.verbose(`Returning cached config data for ${name}`);
|
|
90
90
|
return cachedData;
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
// Fetch section
|
|
94
|
-
|
|
95
|
-
this.LOGGER.verbose(`Fetching section: ${section}`);
|
|
96
|
-
}
|
|
94
|
+
this.LOGGER.verbose(`Fetching section: ${section}`);
|
|
97
95
|
const sectionData = await this.sectionService.get({ where: { name: section } }, eventManager);
|
|
98
|
-
|
|
99
|
-
this.LOGGER.verbose(`Fetching config data for name: ${name}, environment: ${finalEnvironment}`);
|
|
100
|
-
}
|
|
96
|
+
this.LOGGER.verbose(`Fetching config data for name: ${name}, environment: ${finalEnvironment}`);
|
|
101
97
|
const data = await this.dataService.get({
|
|
102
98
|
// eslint-disable-next-line @elsikora/typescript/naming-convention
|
|
103
99
|
relations: { section: shouldLoadSectionInfo },
|
|
@@ -112,14 +108,10 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
112
108
|
}
|
|
113
109
|
try {
|
|
114
110
|
data.value = this.cryptoUtility.decrypt(data.value, this.options.encryptionOptions.encryptionKey);
|
|
115
|
-
|
|
116
|
-
this.LOGGER.verbose(`Decrypted value for ${name}`);
|
|
117
|
-
}
|
|
111
|
+
this.LOGGER.verbose(`Decrypted value for ${name}`);
|
|
118
112
|
}
|
|
119
113
|
catch (error) {
|
|
120
|
-
|
|
121
|
-
this.LOGGER.error(`Decryption error for ${name}: ${error.message}`);
|
|
122
|
-
}
|
|
114
|
+
this.LOGGER.error(`Decryption error for ${name}: ${error.message}`);
|
|
123
115
|
throw new common.InternalServerErrorException(nestjsCrudAutomator.ErrorString({ entity: { name: "ConfigData" }, type: nestjsCrudAutomator.EErrorStringAction.DECRYPTION_ERROR }));
|
|
124
116
|
}
|
|
125
117
|
}
|
|
@@ -127,15 +119,11 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
127
119
|
const ttl = this.options.cacheOptions.maxCacheTTL;
|
|
128
120
|
await this.cacheManager.set(cacheKey, data, ttl);
|
|
129
121
|
}
|
|
130
|
-
|
|
131
|
-
this.LOGGER.verbose(`Returning config data for ${name}`);
|
|
132
|
-
}
|
|
122
|
+
this.LOGGER.verbose(`Returning config data for ${name}`);
|
|
133
123
|
return data;
|
|
134
124
|
}
|
|
135
125
|
catch (error) {
|
|
136
|
-
|
|
137
|
-
this.LOGGER.error(`Error in get method: ${error.message}`);
|
|
138
|
-
}
|
|
126
|
+
this.LOGGER.error(`Error in get method: ${error.message}`);
|
|
139
127
|
if (error instanceof common.HttpException) {
|
|
140
128
|
throw error;
|
|
141
129
|
}
|
|
@@ -149,9 +137,11 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
149
137
|
* @returns {Promise<Array<IConfigData>>} Promise resolving to an array of configuration data.
|
|
150
138
|
*/
|
|
151
139
|
async getList(options) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
140
|
+
const maskedOptions = {
|
|
141
|
+
...options,
|
|
142
|
+
eventManager: options.eventManager ? "[EntityManager]" : undefined,
|
|
143
|
+
};
|
|
144
|
+
this.LOGGER.verbose(`Entering getList method with options: ${JSON.stringify(maskedOptions)}`);
|
|
155
145
|
const { environment, eventManager, section: sectionName, useCache, } = options;
|
|
156
146
|
const finalEnvironment = environment ?? this.options?.environment ?? "default";
|
|
157
147
|
const cacheKey = `config:list:${sectionName}:${finalEnvironment}`;
|
|
@@ -160,33 +150,23 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
160
150
|
if (useCache && this.options?.cacheOptions?.isEnabled && this.cacheManager) {
|
|
161
151
|
const cachedItems = await this.cacheManager.get(cacheKey);
|
|
162
152
|
if (cachedItems) {
|
|
163
|
-
|
|
164
|
-
this.LOGGER.verbose(`Returning cached config list for ${sectionName}`);
|
|
165
|
-
}
|
|
153
|
+
this.LOGGER.verbose(`Returning cached config list for ${sectionName}`);
|
|
166
154
|
return cachedItems;
|
|
167
155
|
}
|
|
168
156
|
}
|
|
169
|
-
|
|
170
|
-
this.LOGGER.verbose(`Fetching section: ${sectionName}`);
|
|
171
|
-
}
|
|
157
|
+
this.LOGGER.verbose(`Fetching section: ${sectionName}`);
|
|
172
158
|
const section = await this.sectionService.get({ where: { name: sectionName } }, eventManager);
|
|
173
|
-
|
|
174
|
-
this.LOGGER.verbose(`Fetching config list for section: ${sectionName}, environment: ${finalEnvironment}`);
|
|
175
|
-
}
|
|
159
|
+
this.LOGGER.verbose(`Fetching config list for section: ${sectionName}, environment: ${finalEnvironment}`);
|
|
176
160
|
const result = await this.dataService.getList({ where: { environment: finalEnvironment, section: { id: section.id } } }, eventManager);
|
|
177
161
|
if (useCache && this.options?.cacheOptions?.isEnabled && this.cacheManager) {
|
|
178
162
|
const ttl = this.options?.cacheOptions?.maxCacheTTL;
|
|
179
163
|
await this.cacheManager.set(cacheKey, result.items, ttl);
|
|
180
164
|
}
|
|
181
|
-
|
|
182
|
-
this.LOGGER.verbose(`Returning ${result.items.length} config items`);
|
|
183
|
-
}
|
|
165
|
+
this.LOGGER.verbose(`Returning ${result.items.length} config items`);
|
|
184
166
|
return result.items;
|
|
185
167
|
}
|
|
186
168
|
catch (error) {
|
|
187
|
-
|
|
188
|
-
this.LOGGER.error(`Error in getList method: ${error.message}`);
|
|
189
|
-
}
|
|
169
|
+
this.LOGGER.error(`Error in getList method: ${error.message}`);
|
|
190
170
|
if (error instanceof common.HttpException) {
|
|
191
171
|
throw error;
|
|
192
172
|
}
|
|
@@ -201,13 +181,12 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
201
181
|
* @returns {Promise<IConfigData>} Promise resolving to the saved configuration data
|
|
202
182
|
*/
|
|
203
183
|
async set(options) {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
}
|
|
184
|
+
const maskedOptions = {
|
|
185
|
+
...options,
|
|
186
|
+
eventManager: options.eventManager ? "[EntityManager]" : undefined,
|
|
187
|
+
value: "***",
|
|
188
|
+
};
|
|
189
|
+
this.LOGGER.verbose(`Entering set method with options: ${JSON.stringify(maskedOptions)}`);
|
|
211
190
|
const { description, environment, eventManager, name, section: sectionName, value, } = options;
|
|
212
191
|
const finalEnvironment = environment ?? this.options?.environment ?? "default";
|
|
213
192
|
const shouldApplyEncryption = this.options?.encryptionOptions?.isEnabled ?? false;
|
|
@@ -223,14 +202,10 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
223
202
|
try {
|
|
224
203
|
finalValue = this.cryptoUtility.encrypt(value, this.options.encryptionOptions.encryptionKey);
|
|
225
204
|
isEncrypted = true;
|
|
226
|
-
|
|
227
|
-
this.LOGGER.verbose(`Encrypted value for ${name}`);
|
|
228
|
-
}
|
|
205
|
+
this.LOGGER.verbose(`Encrypted value for ${name}`);
|
|
229
206
|
}
|
|
230
207
|
catch (error) {
|
|
231
|
-
|
|
232
|
-
this.LOGGER.error(`Encryption error for ${name}: ${error.message}`);
|
|
233
|
-
}
|
|
208
|
+
this.LOGGER.error(`Encryption error for ${name}: ${error.message}`);
|
|
234
209
|
throw new common.InternalServerErrorException(nestjsCrudAutomator.ErrorString({ entity: { name: "ConfigData" }, type: nestjsCrudAutomator.EErrorStringAction.ENCRYPTION_ERROR }));
|
|
235
210
|
}
|
|
236
211
|
}
|
|
@@ -248,13 +223,9 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
248
223
|
await queryRunner.startTransaction();
|
|
249
224
|
localEventManager = queryRunner.manager;
|
|
250
225
|
}
|
|
251
|
-
|
|
252
|
-
this.LOGGER.verbose(`Fetching or creating section: ${sectionName}`);
|
|
253
|
-
}
|
|
226
|
+
this.LOGGER.verbose(`Fetching or creating section: ${sectionName}`);
|
|
254
227
|
const section = await this.getOrCreateSection(sectionName, localEventManager);
|
|
255
|
-
|
|
256
|
-
this.LOGGER.verbose(`Preparing config data for ${name}`);
|
|
257
|
-
}
|
|
228
|
+
this.LOGGER.verbose(`Preparing config data for ${name}`);
|
|
258
229
|
const configData = {
|
|
259
230
|
description: description ?? undefined,
|
|
260
231
|
environment: finalEnvironment,
|
|
@@ -265,27 +236,19 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
265
236
|
};
|
|
266
237
|
let result;
|
|
267
238
|
try {
|
|
268
|
-
|
|
269
|
-
this.LOGGER.verbose(`Checking for existing config: ${name}`);
|
|
270
|
-
}
|
|
239
|
+
this.LOGGER.verbose(`Checking for existing config: ${name}`);
|
|
271
240
|
const existingData = await this.dataService.get({ where: { environment: finalEnvironment, name, section: { id: section.id } } }, localEventManager);
|
|
272
|
-
|
|
273
|
-
this.LOGGER.verbose(`Updating existing config: ${name}`);
|
|
274
|
-
}
|
|
241
|
+
this.LOGGER.verbose(`Updating existing config: ${name}`);
|
|
275
242
|
result = await this.dataService.update({ id: existingData.id }, configData, localEventManager);
|
|
276
243
|
}
|
|
277
244
|
catch (error) {
|
|
278
245
|
if (error instanceof common.NotFoundException) {
|
|
279
|
-
|
|
280
|
-
this.LOGGER.verbose(`Config ${name} not found, creating new one`);
|
|
281
|
-
}
|
|
246
|
+
this.LOGGER.verbose(`Config ${name} not found, creating new one`);
|
|
282
247
|
result = await this.dataService.create(configData, localEventManager);
|
|
283
248
|
}
|
|
284
249
|
else {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
this.LOGGER.error(`Error updating config: ${errorMessage}`);
|
|
288
|
-
}
|
|
250
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
251
|
+
this.LOGGER.error(`Error updating config: ${errorMessage}`);
|
|
289
252
|
throw error;
|
|
290
253
|
}
|
|
291
254
|
}
|
|
@@ -298,9 +261,7 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
298
261
|
await queryRunner.commitTransaction();
|
|
299
262
|
await queryRunner.release();
|
|
300
263
|
}
|
|
301
|
-
|
|
302
|
-
this.LOGGER.verbose(`Set method completed successfully for ${name}`);
|
|
303
|
-
}
|
|
264
|
+
this.LOGGER.verbose(`Set method completed successfully for ${name}`);
|
|
304
265
|
return result;
|
|
305
266
|
}
|
|
306
267
|
catch (error) {
|
|
@@ -308,10 +269,8 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
308
269
|
await queryRunner.rollbackTransaction();
|
|
309
270
|
await queryRunner.release();
|
|
310
271
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
this.LOGGER.error(`Error in set method: ${errorMessage}`);
|
|
314
|
-
}
|
|
272
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
273
|
+
this.LOGGER.error(`Error in set method: ${errorMessage}`);
|
|
315
274
|
if (error instanceof common.HttpException) {
|
|
316
275
|
throw error;
|
|
317
276
|
}
|
|
@@ -324,22 +283,18 @@ exports.CrudConfigService = CrudConfigService_1 = class CrudConfigService {
|
|
|
324
283
|
}
|
|
325
284
|
catch (error) {
|
|
326
285
|
if (error instanceof common.NotFoundException && this.options?.shouldAutoCreateSections) {
|
|
327
|
-
|
|
328
|
-
this.LOGGER.verbose(`Section ${sectionName} not found, creating new one`);
|
|
329
|
-
}
|
|
286
|
+
this.LOGGER.verbose(`Section ${sectionName} not found, creating new one`);
|
|
330
287
|
return await this.sectionService.create({ name: sectionName }, eventManager);
|
|
331
288
|
}
|
|
332
289
|
else {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
this.LOGGER.error(`Error fetching section: ${errorMessage}`);
|
|
336
|
-
}
|
|
290
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
291
|
+
this.LOGGER.error(`Error fetching section: ${errorMessage}`);
|
|
337
292
|
throw error;
|
|
338
293
|
}
|
|
339
294
|
}
|
|
340
295
|
}
|
|
341
296
|
};
|
|
342
|
-
exports.CrudConfigService =
|
|
297
|
+
exports.CrudConfigService = tslib_es6.__decorate([
|
|
343
298
|
common.Injectable(),
|
|
344
299
|
tslib_es6.__param(0, common.Inject(token_constant.TOKEN_CONSTANT.CONFIG_SECTION_SERVICE)),
|
|
345
300
|
tslib_es6.__param(1, common.Inject(token_constant.TOKEN_CONSTANT.CONFIG_DATA_SERVICE)),
|
|
@@ -347,6 +302,8 @@ exports.CrudConfigService = CrudConfigService_1 = tslib_es6.__decorate([
|
|
|
347
302
|
tslib_es6.__param(2, common.Inject(cacheManager.CACHE_MANAGER)),
|
|
348
303
|
tslib_es6.__param(3, common.Optional()),
|
|
349
304
|
tslib_es6.__param(3, common.Inject(token_constant.TOKEN_CONSTANT.CONFIG_OPTIONS)),
|
|
305
|
+
tslib_es6.__param(4, common.Optional()),
|
|
306
|
+
tslib_es6.__param(4, common.Inject(typeorm.DataSource)),
|
|
350
307
|
tslib_es6.__metadata("design:paramtypes", [nestjsCrudAutomator.ApiServiceBase,
|
|
351
308
|
nestjsCrudAutomator.ApiServiceBase,
|
|
352
309
|
cacheManager.Cache, Object, typeorm.DataSource,
|