@node-c/core 1.0.0-alpha9 → 1.0.0-beta1
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/coverage/src/app.ts.html +349 -0
- package/coverage/src/common/configProvider/configProvider.module.ts.html +160 -0
- package/coverage/src/common/configProvider/configProvider.service.ts.html +658 -0
- package/coverage/src/common/configProvider/index.html +146 -0
- package/coverage/src/common/configProvider/index.ts.html +94 -0
- package/coverage/src/common/definitions/common.constants.ts.html +160 -0
- package/coverage/src/common/definitions/common.errors.ts.html +124 -0
- package/coverage/src/common/definitions/index.html +146 -0
- package/coverage/src/common/definitions/index.ts.html +94 -0
- package/coverage/src/common/utils/index.html +131 -0
- package/coverage/src/common/utils/index.ts.html +88 -0
- package/coverage/src/common/utils/utils.loadDynamicModules.ts.html +265 -0
- package/coverage/src/domain/entityService/domain.entity.service.ts.html +784 -0
- package/coverage/src/domain/entityService/index.html +131 -0
- package/coverage/src/domain/entityService/index.ts.html +91 -0
- package/coverage/src/index.html +116 -0
- package/coverage/src/persistance/entityService/index.html +131 -0
- package/coverage/src/persistance/entityService/index.ts.html +91 -0
- package/coverage/src/persistance/entityService/persistance.entity.service.ts.html +268 -0
- package/dist/app.d.ts +10 -9
- package/dist/app.js +30 -15
- package/dist/app.js.map +1 -1
- package/dist/common/configProvider/configProvider.definitions.d.ts +158 -21
- package/dist/common/configProvider/configProvider.definitions.js +22 -8
- package/dist/common/configProvider/configProvider.definitions.js.map +1 -1
- package/dist/common/configProvider/configProvider.module.js +13 -2
- package/dist/common/configProvider/configProvider.module.js.map +1 -1
- package/dist/common/configProvider/configProvider.service.js +23 -20
- package/dist/common/configProvider/configProvider.service.js.map +1 -1
- package/dist/common/definitions/common.constants.d.ts +2 -1
- package/dist/common/definitions/common.constants.js +1 -0
- package/dist/common/definitions/common.constants.js.map +1 -1
- package/dist/common/logger/index.d.ts +3 -0
- package/dist/common/logger/index.js +20 -0
- package/dist/common/logger/index.js.map +1 -0
- package/dist/common/logger/logger.definitions.d.ts +4 -0
- package/dist/common/logger/logger.definitions.js +3 -0
- package/dist/common/logger/logger.definitions.js.map +1 -0
- package/dist/common/logger/logger.module.d.ts +5 -0
- package/dist/common/logger/logger.module.js +34 -0
- package/dist/common/logger/logger.module.js.map +1 -0
- package/dist/common/logger/logger.service.d.ts +6 -0
- package/dist/common/logger/logger.service.js +56 -0
- package/dist/common/logger/logger.service.js.map +1 -0
- package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.d.ts +1 -0
- package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.js +9 -0
- package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.js.map +1 -0
- package/dist/common/utils/base64UrlEncode/index.d.ts +1 -0
- package/dist/{persistance/entityService → common/utils/base64UrlEncode}/index.js +1 -2
- package/dist/common/utils/base64UrlEncode/index.js.map +1 -0
- package/dist/common/utils/getNested/getNested.definitions.d.ts +4 -0
- package/dist/common/utils/getNested/getNested.definitions.js +3 -0
- package/dist/common/utils/getNested/getNested.definitions.js.map +1 -0
- package/dist/common/utils/getNested/getNested.method.d.ts +6 -0
- package/dist/common/utils/getNested/getNested.method.js +88 -0
- package/dist/common/utils/getNested/getNested.method.js.map +1 -0
- package/dist/common/utils/getNested/index.d.ts +2 -0
- package/dist/common/utils/getNested/index.js +19 -0
- package/dist/common/utils/getNested/index.js.map +1 -0
- package/dist/common/utils/httpRequest/httpRequest.definitions.d.ts +19 -0
- package/dist/common/utils/httpRequest/httpRequest.definitions.js +3 -0
- package/dist/common/utils/httpRequest/httpRequest.definitions.js.map +1 -0
- package/dist/common/utils/httpRequest/httpRequest.method.d.ts +2 -0
- package/dist/common/utils/httpRequest/httpRequest.method.js +56 -0
- package/dist/common/utils/httpRequest/httpRequest.method.js.map +1 -0
- package/dist/common/utils/httpRequest/index.d.ts +2 -0
- package/dist/common/utils/httpRequest/index.js +19 -0
- package/dist/common/utils/httpRequest/index.js.map +1 -0
- package/dist/common/utils/index.d.ts +5 -1
- package/dist/common/utils/index.js +5 -1
- package/dist/common/utils/index.js.map +1 -1
- package/dist/common/utils/loadDynamicModules/index.d.ts +1 -0
- package/dist/common/utils/loadDynamicModules/index.js +18 -0
- package/dist/common/utils/loadDynamicModules/index.js.map +1 -0
- package/dist/common/utils/{utils.loadDynamicModules.d.ts → loadDynamicModules/utils.loadDynamicModules.d.ts} +1 -1
- package/dist/common/utils/loadDynamicModules/utils.loadDynamicModules.js.map +1 -0
- package/dist/common/utils/setNested/index.d.ts +2 -0
- package/dist/common/utils/setNested/index.js +19 -0
- package/dist/common/utils/setNested/index.js.map +1 -0
- package/dist/common/utils/setNested/setNested.definitions.d.ts +4 -0
- package/dist/common/utils/setNested/setNested.definitions.js +3 -0
- package/dist/common/utils/setNested/setNested.definitions.js.map +1 -0
- package/dist/common/utils/setNested/setNested.method.d.ts +2 -0
- package/dist/common/utils/setNested/setNested.method.js +70 -0
- package/dist/common/utils/setNested/setNested.method.js.map +1 -0
- package/dist/data/entityService/data.entity.service.d.ts +19 -0
- package/dist/data/entityService/data.entity.service.definitions.d.ts +117 -0
- package/dist/data/entityService/data.entity.service.definitions.js +28 -0
- package/dist/data/entityService/data.entity.service.definitions.js.map +1 -0
- package/dist/{persistance/entityService/persistance.entity.service.js → data/entityService/data.entity.service.js} +42 -9
- package/dist/data/entityService/data.entity.service.js.map +1 -0
- package/dist/data/entityService/index.d.ts +2 -0
- package/dist/data/entityService/index.js +19 -0
- package/dist/data/entityService/index.js.map +1 -0
- package/dist/domain/entityService/domain.entity.service.d.ts +30 -13
- package/dist/domain/entityService/domain.entity.service.definitions.d.ts +26 -19
- package/dist/domain/entityService/domain.entity.service.definitions.js +6 -6
- package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
- package/dist/domain/entityService/domain.entity.service.js +78 -69
- package/dist/domain/entityService/domain.entity.service.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/scripts/generateDatasourceFiles.d.ts +1 -0
- package/dist/scripts/generateDatasourceFiles.js +94 -0
- package/dist/scripts/generateDatasourceFiles.js.map +1 -0
- package/package.json +17 -9
- package/src/app.spec.ts +138 -0
- package/src/app.ts +120 -0
- package/src/common/configProvider/configProvider.definitions.ts +444 -0
- package/src/common/configProvider/configProvider.module.spec.ts +90 -0
- package/src/common/configProvider/configProvider.module.ts +25 -0
- package/src/common/configProvider/configProvider.service.spec.ts +206 -0
- package/src/common/configProvider/configProvider.service.ts +204 -0
- package/src/common/configProvider/index.ts +3 -0
- package/src/common/definitions/common.constants.ts +27 -0
- package/src/common/definitions/common.definitions.ts +13 -0
- package/src/common/definitions/common.errors.ts +13 -0
- package/src/common/definitions/index.ts +3 -0
- package/src/common/logger/index.ts +3 -0
- package/src/common/logger/logger.definitions.ts +5 -0
- package/src/common/logger/logger.module.ts +21 -0
- package/src/common/logger/logger.service.ts +40 -0
- package/src/common/utils/base64UrlEncode/base64UrlEncode.method.ts +4 -0
- package/src/common/utils/base64UrlEncode/index.ts +1 -0
- package/src/common/utils/getNested/getNested.definitions.ts +4 -0
- package/src/common/utils/getNested/getNested.method.ts +108 -0
- package/src/common/utils/getNested/getNested.spec.ts +151 -0
- package/src/common/utils/getNested/index.ts +2 -0
- package/src/common/utils/httpRequest/httpRequest.definitions.ts +22 -0
- package/src/common/utils/httpRequest/httpRequest.method.ts +46 -0
- package/src/common/utils/httpRequest/index.ts +2 -0
- package/src/common/utils/index.ts +5 -0
- package/src/common/utils/loadDynamicModules/index.ts +1 -0
- package/src/common/utils/loadDynamicModules/utils.loadDynamicModules.spec.ts +111 -0
- package/src/common/utils/loadDynamicModules/utils.loadDynamicModules.ts +69 -0
- package/src/common/utils/setNested/index.ts +2 -0
- package/src/common/utils/setNested/setNested.definitions.ts +4 -0
- package/src/common/utils/setNested/setNested.method.ts +83 -0
- package/src/common/utils/setNested/setNested.spec.ts +184 -0
- package/src/data/entityService/data.entity.service.definitions.ts +154 -0
- package/src/data/entityService/data.entity.service.spec.ts +112 -0
- package/src/data/entityService/data.entity.service.ts +147 -0
- package/src/data/entityService/index.ts +2 -0
- package/src/domain/entityService/domain.entity.service.definitions.ts +142 -0
- package/src/domain/entityService/domain.entity.service.spec.ts +126 -0
- package/src/domain/entityService/domain.entity.service.ts +424 -0
- package/src/domain/entityService/index.ts +2 -0
- package/src/index.ts +7 -0
- package/src/scripts/generateDatasourceFiles.ts +59 -0
- package/src/vitest.config.ts +9 -0
- package/dist/common/utils/utils.loadDynamicModules.js.map +0 -1
- package/dist/persistance/entityService/index.d.ts +0 -2
- package/dist/persistance/entityService/index.js.map +0 -1
- package/dist/persistance/entityService/persistance.entity.service.d.ts +0 -11
- package/dist/persistance/entityService/persistance.entity.service.definitions.d.ts +0 -76
- package/dist/persistance/entityService/persistance.entity.service.definitions.js +0 -23
- package/dist/persistance/entityService/persistance.entity.service.definitions.js.map +0 -1
- package/dist/persistance/entityService/persistance.entity.service.js.map +0 -1
- /package/dist/common/utils/{utils.loadDynamicModules.js → loadDynamicModules/utils.loadDynamicModules.js} +0 -0
|
@@ -24,15 +24,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.DomainEntityService = void 0;
|
|
27
|
-
const
|
|
28
|
-
const ramda_1 = require("ramda");
|
|
27
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
29
28
|
const domain_entity_service_definitions_1 = require("./domain.entity.service.definitions");
|
|
30
29
|
const definitions_1 = require("../../common/definitions");
|
|
31
30
|
class DomainEntityService {
|
|
32
|
-
constructor(
|
|
33
|
-
this.
|
|
31
|
+
constructor(dataEntityService, defaultMethods = domain_entity_service_definitions_1.DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS, logger, additionalDataEntityServices, defaultAdditionalDataEntityServicesOptions) {
|
|
32
|
+
this.dataEntityService = dataEntityService;
|
|
34
33
|
this.defaultMethods = defaultMethods;
|
|
35
|
-
this.
|
|
34
|
+
this.logger = logger;
|
|
35
|
+
this.additionalDataEntityServices = additionalDataEntityServices;
|
|
36
|
+
this.defaultAdditionalDataEntityServicesOptions = defaultAdditionalDataEntityServicesOptions;
|
|
36
37
|
}
|
|
37
38
|
bulkCreate(data, options, privateOptions) {
|
|
38
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -40,18 +41,22 @@ class DomainEntityService {
|
|
|
40
41
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.BulkCreate))) {
|
|
41
42
|
throw new definitions_1.ApplicationError(`Method bulkCreate not implemented for class ${typeof this}.`);
|
|
42
43
|
}
|
|
43
|
-
const { optionsOverridesByService,
|
|
44
|
-
const [firstServiceName, ...otherServiceNames] =
|
|
45
|
-
const result = yield this.
|
|
44
|
+
const { optionsOverridesByService, dataServices = [domain_entity_service_definitions_1.DomainDataEntityServiceType.Main] } = options || {};
|
|
45
|
+
const [firstServiceName, ...otherServiceNames] = dataServices;
|
|
46
|
+
const result = yield this.getDataService(firstServiceName).bulkCreate(data, privateOptions);
|
|
47
|
+
let actualOtherServiceNames = [];
|
|
48
|
+
let actualOptionsOverridesByService = {};
|
|
49
|
+
actualOtherServiceNames = otherServiceNames || [];
|
|
50
|
+
actualOptionsOverridesByService = optionsOverridesByService;
|
|
46
51
|
return {
|
|
47
52
|
result,
|
|
48
|
-
resultsByService: yield this.runMethodInAdditionalServices(
|
|
49
|
-
|
|
50
|
-
|
|
53
|
+
resultsByService: yield this.runMethodInAdditionalServices(actualOtherServiceNames, {
|
|
54
|
+
firstServiceResult: result,
|
|
55
|
+
hasFirstServiceResult: result.length > 0,
|
|
51
56
|
methodArgs: [result, privateOptions],
|
|
52
57
|
methodName: 'bulkCreate',
|
|
53
58
|
optionsArgIndex: 1,
|
|
54
|
-
optionsOverridesByService
|
|
59
|
+
optionsOverridesByService: actualOptionsOverridesByService
|
|
55
60
|
})
|
|
56
61
|
};
|
|
57
62
|
});
|
|
@@ -62,14 +67,14 @@ class DomainEntityService {
|
|
|
62
67
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Create))) {
|
|
63
68
|
throw new definitions_1.ApplicationError(`Method create not implemented for class ${typeof this}.`);
|
|
64
69
|
}
|
|
65
|
-
const { optionsOverridesByService,
|
|
66
|
-
const [firstServiceName, ...otherServiceNames] =
|
|
67
|
-
const result = yield this.
|
|
70
|
+
const { optionsOverridesByService, dataServices = [domain_entity_service_definitions_1.DomainDataEntityServiceType.Main] } = options || {};
|
|
71
|
+
const [firstServiceName, ...otherServiceNames] = dataServices;
|
|
72
|
+
const result = yield this.getDataService(firstServiceName).create(data, privateOptions);
|
|
68
73
|
return {
|
|
69
74
|
result,
|
|
70
75
|
resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
firstServiceResult: result,
|
|
77
|
+
hasFirstServiceResult: typeof result !== 'undefined' && result !== null,
|
|
73
78
|
methodArgs: [result, privateOptions],
|
|
74
79
|
methodName: 'create',
|
|
75
80
|
optionsArgIndex: 1,
|
|
@@ -84,14 +89,14 @@ class DomainEntityService {
|
|
|
84
89
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Delete))) {
|
|
85
90
|
throw new definitions_1.ApplicationError(`Method delete not implemented for class ${typeof this}.`);
|
|
86
91
|
}
|
|
87
|
-
const _b = options || {}, { optionsOverridesByService,
|
|
88
|
-
const [firstServiceName, ...otherServiceNames] =
|
|
89
|
-
const result = yield this.
|
|
92
|
+
const _b = options || {}, { optionsOverridesByService, dataServices = [domain_entity_service_definitions_1.DomainDataEntityServiceType.Main] } = _b, otherOptions = __rest(_b, ["optionsOverridesByService", "dataServices"]);
|
|
93
|
+
const [firstServiceName, ...otherServiceNames] = dataServices;
|
|
94
|
+
const result = yield this.getDataService(firstServiceName).delete(otherOptions, privateOptions);
|
|
90
95
|
return {
|
|
91
96
|
result,
|
|
92
97
|
resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
93
|
-
|
|
94
|
-
|
|
98
|
+
firstServiceResult: Object.assign(Object.assign({}, result), { items: result.originalItems || [] }),
|
|
99
|
+
hasFirstServiceResult: !!result.count,
|
|
95
100
|
methodArgs: [otherOptions, privateOptions],
|
|
96
101
|
methodName: 'delete',
|
|
97
102
|
optionsArgIndex: 0,
|
|
@@ -102,28 +107,28 @@ class DomainEntityService {
|
|
|
102
107
|
}
|
|
103
108
|
find(options, privateOptions) {
|
|
104
109
|
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
var _a;
|
|
110
|
+
var _a, _b;
|
|
106
111
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Find))) {
|
|
107
112
|
throw new definitions_1.ApplicationError(`Method find not implemented for class ${typeof this}.`);
|
|
108
113
|
}
|
|
109
|
-
const
|
|
110
|
-
const [firstServiceName, ...otherServiceNames] =
|
|
111
|
-
let result = yield this.
|
|
112
|
-
const
|
|
114
|
+
const _c = options || {}, { optionsOverridesByService, dataServices = [domain_entity_service_definitions_1.DomainDataEntityServiceType.Main], saveAdditionalResultsInFirstService } = _c, otherOptions = __rest(_c, ["optionsOverridesByService", "dataServices", "saveAdditionalResultsInFirstService"]);
|
|
115
|
+
const [firstServiceName, ...otherServiceNames] = dataServices;
|
|
116
|
+
let result = yield this.getDataService(firstServiceName).find(otherOptions, privateOptions);
|
|
117
|
+
const hasFirstServiceResult = result.items.length > 0;
|
|
113
118
|
const resultsByService = yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
114
|
-
|
|
115
|
-
|
|
119
|
+
firstServiceResult: result,
|
|
120
|
+
hasFirstServiceResult,
|
|
116
121
|
methodArgs: [otherOptions, privateOptions],
|
|
117
122
|
methodName: 'find',
|
|
118
123
|
optionsArgIndex: 0,
|
|
119
124
|
optionsOverridesByService
|
|
120
125
|
});
|
|
121
|
-
if (
|
|
122
|
-
const { saveOptions, serviceName,
|
|
126
|
+
if (saveAdditionalResultsInFirstService && resultsByService) {
|
|
127
|
+
const { saveOptions, serviceName, useResultsForFirstService } = saveAdditionalResultsInFirstService;
|
|
123
128
|
const dataFromAdditionalService = resultsByService[serviceName];
|
|
124
|
-
if (dataFromAdditionalService.items.length) {
|
|
125
|
-
yield this.
|
|
126
|
-
if (
|
|
129
|
+
if ((_b = dataFromAdditionalService === null || dataFromAdditionalService === void 0 ? void 0 : dataFromAdditionalService.items) === null || _b === void 0 ? void 0 : _b.length) {
|
|
130
|
+
yield this.dataEntityService.bulkCreate(dataFromAdditionalService.items, saveOptions);
|
|
131
|
+
if (useResultsForFirstService && !hasFirstServiceResult) {
|
|
127
132
|
result = dataFromAdditionalService;
|
|
128
133
|
}
|
|
129
134
|
}
|
|
@@ -140,24 +145,24 @@ class DomainEntityService {
|
|
|
140
145
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.FindOne))) {
|
|
141
146
|
throw new definitions_1.ApplicationError(`Method findOne not implemented for class ${typeof this}.`);
|
|
142
147
|
}
|
|
143
|
-
const _b = options || {}, { optionsOverridesByService,
|
|
144
|
-
const [firstServiceName, ...otherServiceNames] =
|
|
145
|
-
let result = yield this.
|
|
146
|
-
const
|
|
148
|
+
const _b = options || {}, { optionsOverridesByService, dataServices = [domain_entity_service_definitions_1.DomainDataEntityServiceType.Main], saveAdditionalResultsInFirstService } = _b, otherOptions = __rest(_b, ["optionsOverridesByService", "dataServices", "saveAdditionalResultsInFirstService"]);
|
|
149
|
+
const [firstServiceName, ...otherServiceNames] = dataServices;
|
|
150
|
+
let result = yield this.getDataService(firstServiceName).findOne(otherOptions, privateOptions);
|
|
151
|
+
const hasFirstServiceResult = typeof result !== 'undefined' && result !== null;
|
|
147
152
|
const resultsByService = yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
148
|
-
|
|
149
|
-
|
|
153
|
+
firstServiceResult: result,
|
|
154
|
+
hasFirstServiceResult,
|
|
150
155
|
methodArgs: [otherOptions, privateOptions],
|
|
151
156
|
methodName: 'findOne',
|
|
152
157
|
optionsArgIndex: 0,
|
|
153
158
|
optionsOverridesByService
|
|
154
159
|
});
|
|
155
|
-
if (
|
|
156
|
-
const { saveOptions, serviceName,
|
|
160
|
+
if (saveAdditionalResultsInFirstService && resultsByService) {
|
|
161
|
+
const { saveOptions, serviceName, useResultsForFirstService } = saveAdditionalResultsInFirstService;
|
|
157
162
|
const dataFromAdditionalService = resultsByService[serviceName];
|
|
158
163
|
if (dataFromAdditionalService) {
|
|
159
|
-
yield this.
|
|
160
|
-
if (
|
|
164
|
+
yield this.dataEntityService.create(dataFromAdditionalService, saveOptions);
|
|
165
|
+
if (useResultsForFirstService && !hasFirstServiceResult) {
|
|
161
166
|
result = dataFromAdditionalService;
|
|
162
167
|
}
|
|
163
168
|
}
|
|
@@ -168,14 +173,14 @@ class DomainEntityService {
|
|
|
168
173
|
};
|
|
169
174
|
});
|
|
170
175
|
}
|
|
171
|
-
|
|
176
|
+
getDataService(serviceName) {
|
|
172
177
|
var _a;
|
|
173
|
-
if (serviceName === domain_entity_service_definitions_1.
|
|
174
|
-
return this.
|
|
178
|
+
if (serviceName === domain_entity_service_definitions_1.DomainDataEntityServiceType.Main) {
|
|
179
|
+
return this.dataEntityService;
|
|
175
180
|
}
|
|
176
|
-
const service = (_a = this.
|
|
181
|
+
const service = (_a = this.additionalDataEntityServices) === null || _a === void 0 ? void 0 : _a[serviceName];
|
|
177
182
|
if (!service) {
|
|
178
|
-
throw new definitions_1.ApplicationError(`
|
|
183
|
+
throw new definitions_1.ApplicationError(`DataEntityService ${serviceName} does not exist for DomainEntityService ${this.dataEntityService.getEntityName(true) || '(no entity name)'}.`);
|
|
179
184
|
}
|
|
180
185
|
return service;
|
|
181
186
|
}
|
|
@@ -184,27 +189,28 @@ class DomainEntityService {
|
|
|
184
189
|
if (!serviceNames.length) {
|
|
185
190
|
return undefined;
|
|
186
191
|
}
|
|
187
|
-
const {
|
|
192
|
+
const { firstServiceResult, hasFirstServiceResult, methodArgs = [], methodName, optionsArgIndex, optionsOverridesByService = {} } = options;
|
|
188
193
|
const returnDataByService = {};
|
|
189
|
-
if (!this.
|
|
190
|
-
throw new definitions_1.ApplicationError(`No additional
|
|
194
|
+
if (!this.additionalDataEntityServices) {
|
|
195
|
+
throw new definitions_1.ApplicationError(`No additional DataEntityServices exist for DomainEntityService ${this.dataEntityService.getEntityName(true) || '(no entity name)'}.`);
|
|
191
196
|
}
|
|
192
197
|
if (Object.keys(optionsOverridesByService).length &&
|
|
193
198
|
(typeof optionsArgIndex === 'undefined' || optionsArgIndex < 0 || optionsArgIndex > methodArgs.length - 1)) {
|
|
194
|
-
throw new definitions_1.ApplicationError(`Invalid optionsArgIndex value ${optionsArgIndex} provided for DomainEntityService ${this.
|
|
199
|
+
throw new definitions_1.ApplicationError(`Invalid optionsArgIndex value ${optionsArgIndex} provided for DomainEntityService ${this.dataEntityService.getEntityName(true) || '(no entity name)'}.}.`);
|
|
195
200
|
}
|
|
196
201
|
for (const i in serviceNames) {
|
|
197
202
|
const serviceName = serviceNames[i];
|
|
198
|
-
const service = this.
|
|
203
|
+
const service = this.getDataService(serviceName);
|
|
199
204
|
if (!service) {
|
|
200
|
-
throw new definitions_1.ApplicationError(`
|
|
205
|
+
throw new definitions_1.ApplicationError(`DataEntityService ${serviceName} does not exist for DomainEntityService ${this.dataEntityService.getEntityName(true) || '(no entity name)'}.`);
|
|
201
206
|
}
|
|
202
207
|
const serviceMethodOptionsOverrides = optionsOverridesByService[serviceName] || {};
|
|
203
|
-
const {
|
|
204
|
-
if ((
|
|
208
|
+
const { filterByFirstServiceResultFields, runOnNoFirstServiceResultOnly = true } = serviceMethodOptionsOverrides, actualMethodOptionsOverrides = __rest(serviceMethodOptionsOverrides, ["filterByFirstServiceResultFields", "runOnNoFirstServiceResultOnly"]);
|
|
209
|
+
if ((runOnNoFirstServiceResultOnly === true || runOnNoFirstServiceResultOnly === 'true') &&
|
|
210
|
+
hasFirstServiceResult) {
|
|
205
211
|
continue;
|
|
206
212
|
}
|
|
207
|
-
const serviceMethodArgs =
|
|
213
|
+
const serviceMethodArgs = lodash_1.default.cloneDeep(methodArgs);
|
|
208
214
|
if (typeof serviceMethodArgs[optionsArgIndex] === 'undefined') {
|
|
209
215
|
if (optionsArgIndex > serviceMethodArgs.length - 1) {
|
|
210
216
|
serviceMethodArgs.push(actualMethodOptionsOverrides);
|
|
@@ -216,18 +222,21 @@ class DomainEntityService {
|
|
|
216
222
|
else {
|
|
217
223
|
serviceMethodArgs[optionsArgIndex] = Object.assign(Object.assign({}, serviceMethodArgs[optionsArgIndex]), actualMethodOptionsOverrides);
|
|
218
224
|
}
|
|
219
|
-
if (
|
|
225
|
+
if (filterByFirstServiceResultFields && Object.keys(filterByFirstServiceResultFields).length) {
|
|
226
|
+
if (!hasFirstServiceResult) {
|
|
227
|
+
continue;
|
|
228
|
+
}
|
|
220
229
|
const filters = {};
|
|
221
|
-
const resultItems =
|
|
222
|
-
|
|
230
|
+
const resultItems = firstServiceResult.items || [
|
|
231
|
+
firstServiceResult
|
|
223
232
|
];
|
|
224
233
|
resultItems.forEach(resultItem => {
|
|
225
234
|
if (!resultItem) {
|
|
226
235
|
return;
|
|
227
236
|
}
|
|
228
|
-
for (const sourceFieldName in
|
|
237
|
+
for (const sourceFieldName in filterByFirstServiceResultFields) {
|
|
229
238
|
const fieldValue = resultItem[sourceFieldName];
|
|
230
|
-
const targetFieldName =
|
|
239
|
+
const targetFieldName = filterByFirstServiceResultFields[sourceFieldName];
|
|
231
240
|
if (typeof fieldValue === 'undefined') {
|
|
232
241
|
return;
|
|
233
242
|
}
|
|
@@ -239,7 +248,7 @@ class DomainEntityService {
|
|
|
239
248
|
});
|
|
240
249
|
if (Object.keys(filters).length) {
|
|
241
250
|
const serviceMethodOptions = serviceMethodArgs[optionsArgIndex];
|
|
242
|
-
serviceMethodArgs[optionsArgIndex] = Object.assign(Object.assign({}, serviceMethodOptions), { filters: Object.assign(Object.assign({}, (
|
|
251
|
+
serviceMethodArgs[optionsArgIndex] = Object.assign(Object.assign({}, serviceMethodOptions), { filters: Object.assign(Object.assign({}, lodash_1.default.omit(serviceMethodOptions.filters || {}, ['page', 'perPage'])), filters), findAll: true });
|
|
243
252
|
}
|
|
244
253
|
}
|
|
245
254
|
returnDataByService[serviceName] = (yield service[methodName].apply(service, serviceMethodArgs));
|
|
@@ -253,14 +262,14 @@ class DomainEntityService {
|
|
|
253
262
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Update))) {
|
|
254
263
|
throw new definitions_1.ApplicationError(`Method update not implemented for class ${typeof this}.`);
|
|
255
264
|
}
|
|
256
|
-
const { optionsOverridesByService,
|
|
257
|
-
const [firstServiceName, ...otherServiceNames] =
|
|
258
|
-
const result = yield this.
|
|
265
|
+
const { optionsOverridesByService, dataServices = [domain_entity_service_definitions_1.DomainDataEntityServiceType.Main] } = options, otherOptions = __rest(options, ["optionsOverridesByService", "dataServices"]);
|
|
266
|
+
const [firstServiceName, ...otherServiceNames] = dataServices;
|
|
267
|
+
const result = yield this.getDataService(firstServiceName).update(data, otherOptions, privateOptions);
|
|
259
268
|
return {
|
|
260
269
|
result,
|
|
261
270
|
resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
262
|
-
|
|
263
|
-
|
|
271
|
+
firstServiceResult: result,
|
|
272
|
+
hasFirstServiceResult: !!result.count,
|
|
264
273
|
methodArgs: [data, otherOptions, privateOptions],
|
|
265
274
|
methodName: 'update',
|
|
266
275
|
optionsArgIndex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.entity.service.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"domain.entity.service.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAwB;AAExB,2FAyB6C;AAE7C,0DAA2E;AAM3E,MAAa,mBAAmB;IAS9B,YAEY,iBAAgC,EAEhC,iBAA2B,yEAAqC,EAEhE,MAAqB,EAErB,4BAAuD,EAEvD,0CAOT;QAfS,sBAAiB,GAAjB,iBAAiB,CAAe;QAEhC,mBAAc,GAAd,cAAc,CAAkD;QAEhE,WAAM,GAAN,MAAM,CAAe;QAErB,iCAA4B,GAA5B,4BAA4B,CAA2B;QAEvD,+CAA0C,GAA1C,0CAA0C,CAOnD;IACA,CAAC;IAUE,UAAU,CACd,IAAwB,EACxB,OAAiC,EACjC,cAA+C;;;YAE/C,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,UAAU,CAAC,CAAA,EAAE,CAAC;gBAC5D,MAAM,IAAI,8BAAgB,CAAC,+CAA+C,OAAO,IAAI,GAAG,CAAC,CAAC;YAC5F,CAAC;YAGD,MAAM,EAAE,yBAAyB,EAAE,YAAY,GAAG,CAAC,+DAA2B,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;YACvG,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,YAAY,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC5F,IAAI,uBAAuB,GAAa,EAAE,CAAC;YAC3C,IAAI,+BAA+B,GAAqC,EAAE,CAAC;YAM3E,uBAAuB,GAAG,iBAAiB,IAAI,EAAE,CAAC;YAClD,+BAA+B,GAAG,yBAAyB,CAAC;YAE5D,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,uBAAuB,EAAE;oBAClF,kBAAkB,EAAE,MAAM;oBAC1B,qBAAqB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;oBACxC,UAAU,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;oBACpC,UAAU,EAAE,YAAY;oBACxB,eAAe,EAAE,CAAC;oBAClB,yBAAyB,EAAE,+BAA+B;iBAC3D,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;IAUK,MAAM,CACV,IAAoB,EACpB,OAAsC,EACtC,cAA2C;;;YAE3C,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;gBACxD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,EAAE,yBAAyB,EAAE,YAAY,GAAG,CAAC,+DAA2B,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;YACvG,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,YAAY,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACxF,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBAClF,kBAAkB,EAAE,MAAM;oBAC1B,qBAAqB,EAAE,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,IAAI;oBACvE,UAAU,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;oBACpC,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,CAAC;oBAClB,yBAAyB;iBAC1B,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;IAQK,MAAM,CACV,OAA4B,EAC5B,cAA2C;;;YAE3C,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;gBACxD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,KAIF,OAAO,IAAI,EAAE,EAJX,EACJ,yBAAyB,EACzB,YAAY,GAAG,CAAC,+DAA2B,CAAC,IAAI,CAAC,OAElC,EADZ,YAAY,cAHX,6CAIL,CAAgB,CAAC;YAClB,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,YAAY,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAChG,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBAClF,kBAAkB,kCAAO,MAAM,KAAE,KAAK,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,GAAE;oBACpE,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;oBACrC,UAAU,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBAC1C,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,CAAC;oBAClB,yBAAyB;iBAC1B,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;IAQK,IAAI,CACR,OAA0B,EAC1B,cAA4C;;;YAE5C,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;gBACtD,MAAM,IAAI,8BAAgB,CAAC,yCAAyC,OAAO,IAAI,GAAG,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,KAKF,OAAO,IAAI,EAAE,EALX,EACJ,yBAAyB,EACzB,YAAY,GAAG,CAAC,+DAA2B,CAAC,IAAI,CAAC,EACjD,mCAAmC,OAEpB,EADZ,YAAY,cAJX,oFAKL,CAAgB,CAAC;YAClB,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,YAAY,CAAC;YAC9D,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAC5F,MAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAC/D,iBAAiB,IAAI,EAAE,EACvB;gBACE,kBAAkB,EAAE,MAAM;gBAC1B,qBAAqB;gBACrB,UAAU,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,MAAM;gBAClB,eAAe,EAAE,CAAC;gBAClB,yBAAyB;aAC1B,CACF,CAAC;YACF,IAAI,mCAAmC,IAAI,gBAAgB,EAAE,CAAC;gBAC5D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,GAAG,mCAAmC,CAAC;gBACpG,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,MAAA,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAE,KAAK,0CAAE,MAAM,EAAE,CAAC;oBAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACtF,IAAI,yBAAyB,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBACxD,MAAM,GAAG,yBAAyB,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,MAAM;gBACN,gBAAgB;aACjB,CAAC;QACJ,CAAC;KAAA;IAQK,OAAO,CACX,OAA6B,EAC7B,cAAyC;;;YAEzC,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,OAAO,CAAC,CAAA,EAAE,CAAC;gBACzD,MAAM,IAAI,8BAAgB,CAAC,4CAA4C,OAAO,IAAI,GAAG,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,KAKF,OAAO,IAAI,EAAE,EALX,EACJ,yBAAyB,EACzB,YAAY,GAAG,CAAC,+DAA2B,CAAC,IAAI,CAAC,EACjD,mCAAmC,OAEpB,EADZ,YAAY,cAJX,oFAKL,CAAgB,CAAC;YAClB,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,YAAY,CAAC;YAC9D,IAAI,MAAM,GAAkB,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAC9G,MAAM,qBAAqB,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,IAAI,CAAC;YAC/E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAgB,iBAAiB,IAAI,EAAE,EAAE;gBACxG,kBAAkB,EAAE,MAAM;gBAC1B,qBAAqB;gBACrB,UAAU,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,SAAS;gBACrB,eAAe,EAAE,CAAC;gBAClB,yBAAyB;aAC1B,CAAC,CAAC;YACH,IAAI,mCAAmC,IAAI,gBAAgB,EAAE,CAAC;gBAC5D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,GAAG,mCAAmC,CAAC;gBACpG,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;oBAC5E,IAAI,yBAAyB,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBACxD,MAAM,GAAG,yBAAyB,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,MAAM;gBACN,gBAAgB;aACjB,CAAC;QACJ,CAAC;KAAA;IAES,cAAc,CAAC,WAAsD;;QAC7E,IAAI,WAAW,KAAK,+DAA2B,CAAC,IAAI,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QACD,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,4BAA4B,0CAAG,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,8BAAgB,CACxB,qBAAqB,WAAW,2CAA2C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAkB,GAAG,CAC/I,CAAC;QACJ,CAAC;QACD,OAAO,OAAoC,CAAC;IAC9C,CAAC;IAEe,6BAA6B,CAC3C,YAAsB,EACtB,OAA4D;;YAE5D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,EACJ,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,GAAG,EAAE,EACf,UAAU,EACV,eAAe,EACf,yBAAyB,GAAG,EAAE,EAC/B,GAAG,OAAO,CAAC;YACZ,MAAM,mBAAmB,GAAqC,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBACvC,MAAM,IAAI,8BAAgB,CACxB,kEAAkE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAkB,GAAG,CACtI,CAAC;YACJ,CAAC;YACD,IACE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM;gBAC7C,CAAC,OAAO,eAAe,KAAK,WAAW,IAAI,eAAe,GAAG,CAAC,IAAI,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAC1G,CAAC;gBACD,MAAM,IAAI,8BAAgB,CACxB,iCAAiC,eAAe,qCAAqC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAkB,KAAK,CAC3J,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACjD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,8BAAgB,CACxB,qBAAqB,WAAW,2CAA2C,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,kBAAkB,GAAG,CAC/I,CAAC;gBACJ,CAAC;gBACD,MAAM,6BAA6B,GAAG,yBAAyB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnF,MAAM,EACJ,gCAAgC,EAChC,6BAA6B,GAAG,IAAI,KAElC,6BAA6B,EAD5B,4BAA4B,UAC7B,6BAA6B,EAJ3B,qEAIL,CAAgC,CAAC;gBAGlC,IACE,CAAC,6BAA6B,KAAK,IAAI,IAAI,6BAA6B,KAAK,MAAM,CAAC;oBACpF,qBAAqB,EACrB,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,iBAAiB,GAAG,gBAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAI,OAAO,iBAAiB,CAAC,eAAgB,CAAC,KAAK,WAAW,EAAE,CAAC;oBAC/D,IAAI,eAAgB,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpD,iBAAiB,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACN,iBAAiB,CAAC,eAAgB,CAAC,GAAG,4BAA4B,CAAC;oBACrE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,eAAgB,CAAC,mCAC7B,iBAAiB,CAAC,eAAgB,CAAY,GAC/C,4BAA4B,CAChC,CAAC;gBACJ,CAAC;gBACD,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC7F,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC3B,SAAS;oBACX,CAAC;oBACD,MAAM,OAAO,GAAkB,EAAE,CAAC;oBAClC,MAAM,WAAW,GAAqB,kBAAkD,CAAC,KAAK,IAAI;wBAChG,kBAAmC;qBACpC,CAAC;oBACF,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,OAAO;wBACT,CAAC;wBACD,KAAK,MAAM,eAAe,IAAI,gCAAgC,EAAE,CAAC;4BAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;4BAC/C,MAAM,eAAe,GAAG,gCAAgC,CAAC,eAAe,CAAC,CAAC;4BAC1E,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;gCACtC,OAAO;4BACT,CAAC;4BACD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gCAC9B,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;4BAChC,CAAC;4BACA,OAAO,CAAC,eAAe,CAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC3D,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;wBAChC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,eAAgB,CAE9D,CAAC;wBACF,iBAAiB,CAAC,eAAgB,CAAC,mCAC9B,oBAAoB,KACvB,OAAO,kCACF,gBAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAChE,OAAO,GAEZ,OAAO,EAAE,IAAI,GACd,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,MAClC,OAAO,CAAC,UAA6C,CAGtD,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAsB,CAAC;YAC5D,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC;KAAA;IAUK,MAAM,CACV,IAAoB,EACpB,OAA4B,EAC5B,cAA2C;;;YAE3C,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;gBACxD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,EAAE,yBAAyB,EAAE,YAAY,GAAG,CAAC,+DAA2B,CAAC,IAAI,CAAC,KAAsB,OAAO,EAAxB,YAAY,UAAK,OAAO,EAA3G,6CAAiG,CAAU,CAAC;YAClH,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,YAAY,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;YACtG,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBAClF,kBAAkB,EAAE,MAAM;oBAC1B,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;oBACrC,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC;oBAChD,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,CAAC;oBAClB,yBAAyB;iBAC1B,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;CACF;AApYD,kDAoYC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './app';
|
|
2
2
|
export * from './common/configProvider';
|
|
3
3
|
export * from './common/definitions';
|
|
4
|
+
export * from './common/logger';
|
|
4
5
|
export * from './common/utils';
|
|
5
6
|
export * from './domain/entityService';
|
|
6
|
-
export * from './
|
|
7
|
+
export * from './data/entityService';
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./app"), exports);
|
|
18
18
|
__exportStar(require("./common/configProvider"), exports);
|
|
19
19
|
__exportStar(require("./common/definitions"), exports);
|
|
20
|
+
__exportStar(require("./common/logger"), exports);
|
|
20
21
|
__exportStar(require("./common/utils"), exports);
|
|
21
22
|
__exportStar(require("./domain/entityService"), exports);
|
|
22
|
-
__exportStar(require("./
|
|
23
|
+
__exportStar(require("./data/entityService"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0DAAwC;AACxC,uDAAqC;AACrC,iDAA+B;AAC/B,yDAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0DAAwC;AACxC,uDAAqC;AACrC,kDAAgC;AAChC,iDAA+B;AAC/B,yDAAuC;AACvC,uDAAqC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
+
};
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
const path_1 = __importDefault(require("path"));
|
|
49
|
+
const configProvider_1 = require("../common/configProvider");
|
|
50
|
+
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
|
+
var _a;
|
|
52
|
+
const logPrefix = '[Node-C][generateDatasourceFiles]';
|
|
53
|
+
console.info(`${logPrefix}: Loading configurations...`);
|
|
54
|
+
const appModule = yield Promise.resolve(`${path_1.default.resolve(process.cwd(), './dist/app.module')}`).then(s => __importStar(require(s)));
|
|
55
|
+
const { appConfigs, envKeys, envKeysParentNames, useEnvFile, useEnvFileWithPriority } = appModule.AppModuleBase
|
|
56
|
+
.configProviderModuleRegisterOptions;
|
|
57
|
+
const envName = process.env['DATASOURCE_ENV'];
|
|
58
|
+
const envProfileConfigName = `appConfigProfile${envName.charAt(0).toUpperCase()}${envName.substring(1, envName.length)}`;
|
|
59
|
+
const config = yield configProvider_1.ConfigProviderService.loadConfig({
|
|
60
|
+
appConfigCommon: appConfigs['appConfigCommon'],
|
|
61
|
+
[envProfileConfigName]: appConfigs[envProfileConfigName]
|
|
62
|
+
}, { envKeys, envKeysParentNames, envName, useEnvFile, useEnvFileWithPriority });
|
|
63
|
+
const { data } = config;
|
|
64
|
+
const moduleNames = ((_a = process.env['MODULE_NAMES']) === null || _a === void 0 ? void 0 : _a.split(',')) || [];
|
|
65
|
+
console.info(`${logPrefix}: Configurations loaded. Generating files for ${moduleNames.length} modules...`);
|
|
66
|
+
for (const i in moduleNames) {
|
|
67
|
+
const moduleName = moduleNames[i];
|
|
68
|
+
const innerLogPrefix = `${logPrefix}[${moduleName}]`;
|
|
69
|
+
console.info(`${innerLogPrefix}: Generating files for the module...`);
|
|
70
|
+
const moduleConfig = data[moduleName];
|
|
71
|
+
if (!moduleConfig) {
|
|
72
|
+
console.info(`${innerLogPrefix}: No module config found.`);
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const { type: moduleType } = moduleConfig;
|
|
76
|
+
if (moduleType === configProvider_1.RDBType.ClickHouse || !Object.values(configProvider_1.RDBType).includes(moduleType)) {
|
|
77
|
+
console.info(`${innerLogPrefix}: Module type ${moduleType} is not eligible for file generation.`);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
yield configProvider_1.ConfigProviderService.generateOrmconfig(config, {
|
|
81
|
+
entitiesPathInModule: 'entities',
|
|
82
|
+
migrationsPathInModule: 'migrations',
|
|
83
|
+
moduleName,
|
|
84
|
+
modulePathInProject: `src/data/${moduleName}`,
|
|
85
|
+
seedsPathInModule: 'seeds'
|
|
86
|
+
});
|
|
87
|
+
console.info(`${innerLogPrefix}: Module files generated successfully.`);
|
|
88
|
+
}
|
|
89
|
+
console.info(`${logPrefix}: Files generated successfully.`);
|
|
90
|
+
}))().then(() => process.exit(0), err => {
|
|
91
|
+
console.error(err);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=generateDatasourceFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateDatasourceFiles.js","sourceRoot":"","sources":["../../src/scripts/generateDatasourceFiles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,31 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-c/core",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-beta1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"generateDatasourceFiles": "node ./dist/scripts/generateDatasourceFiles.js"
|
|
8
|
+
},
|
|
6
9
|
"scripts": {
|
|
7
10
|
"build": "tsc -p tsconfig.build.json",
|
|
11
|
+
"build:clean": "rm -rf dist/* && rm -f *.tsbuildinfo && npm run build",
|
|
8
12
|
"check-types": "tsc -p tsconfig.build.json --noEmit",
|
|
9
13
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
10
|
-
"
|
|
14
|
+
"lint": "eslint src",
|
|
15
|
+
"lint:fix": "eslint src --fix",
|
|
16
|
+
"publish-package": "npm run build:clean && npm publish --access public",
|
|
11
17
|
"test": "vitest --config src/vitest.config.ts",
|
|
12
18
|
"test:coverage": "vitest --config src/vitest.config.ts --coverage"
|
|
13
19
|
},
|
|
14
20
|
"dependencies": {
|
|
15
|
-
"@nestjs/common": "^
|
|
16
|
-
"@nestjs/core": "^
|
|
17
|
-
"
|
|
21
|
+
"@nestjs/common": "^11.1.16",
|
|
22
|
+
"@nestjs/core": "^11.1.16",
|
|
23
|
+
"axios": "^1.13.5",
|
|
18
24
|
"dotenv": "^16.4.7",
|
|
25
|
+
"lodash": "^4.17.21",
|
|
19
26
|
"morgan": "^1.10.0",
|
|
20
|
-
"
|
|
27
|
+
"nestjs-pino": "^4.6.1",
|
|
28
|
+
"pino": "^10.3.1",
|
|
29
|
+
"pino-pretty": "^13.1.3"
|
|
21
30
|
},
|
|
22
31
|
"devDependencies": {
|
|
23
|
-
"@nestjs/platform-express": "^
|
|
32
|
+
"@nestjs/platform-express": "^11.1.16",
|
|
33
|
+
"@types/lodash": "^4.17.19",
|
|
24
34
|
"@types/morgan": "^1.9.9",
|
|
25
35
|
"@types/node": "^22.10.1",
|
|
26
|
-
"@types/ramda": "^0.30.2",
|
|
27
36
|
"@vitest/coverage-v8": "^3.0.5",
|
|
28
|
-
"immutable": "^5.0.3",
|
|
29
37
|
"vitest": "^3.0.5"
|
|
30
38
|
}
|
|
31
39
|
}
|