@node-c/core 1.0.0-alpha3 → 1.0.0-alpha30
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/clover.xml +167 -132
- package/coverage/coverage-final.json +2 -2
- package/coverage/index.html +18 -18
- package/dist/app.js +20 -3
- package/dist/app.js.map +1 -1
- package/dist/common/configProvider/configProvider.definitions.d.ts +62 -18
- package/dist/common/configProvider/configProvider.definitions.js +16 -2
- 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 +21 -16
- package/dist/common/configProvider/configProvider.service.js.map +1 -1
- package/dist/common/definitions/common.constants.d.ts +11 -1
- package/dist/common/definitions/common.constants.js +12 -1
- package/dist/common/definitions/common.constants.js.map +1 -1
- package/dist/common/definitions/common.definitions.d.ts +3 -0
- package/dist/common/utils/utils.loadDynamicModules.d.ts +4 -1
- package/dist/common/utils/utils.loadDynamicModules.js +6 -2
- package/dist/common/utils/utils.loadDynamicModules.js.map +1 -1
- package/dist/domain/entityService/domain.entity.service.d.ts +11 -22
- package/dist/domain/entityService/domain.entity.service.definitions.d.ts +43 -9
- package/dist/domain/entityService/domain.entity.service.definitions.js +9 -1
- package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
- package/dist/domain/entityService/domain.entity.service.js +147 -50
- package/dist/domain/entityService/domain.entity.service.js.map +1 -1
- package/dist/persistance/entityService/persistance.entity.service.d.ts +16 -10
- package/dist/persistance/entityService/persistance.entity.service.definitions.d.ts +52 -3
- package/dist/persistance/entityService/persistance.entity.service.definitions.js +11 -1
- package/dist/persistance/entityService/persistance.entity.service.definitions.js.map +1 -1
- package/dist/persistance/entityService/persistance.entity.service.js +42 -10
- package/dist/persistance/entityService/persistance.entity.service.js.map +1 -1
- package/package.json +5 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DomainPersistanceEntityServiceType = exports.DomainMethod = void 0;
|
|
3
|
+
exports.DomainPersistanceEntityServiceType = exports.DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS = exports.DomainMethod = void 0;
|
|
4
4
|
var DomainMethod;
|
|
5
5
|
(function (DomainMethod) {
|
|
6
6
|
DomainMethod["BulkCreate"] = "bulkCreate";
|
|
@@ -10,6 +10,14 @@ var DomainMethod;
|
|
|
10
10
|
DomainMethod["FindOne"] = "findOne";
|
|
11
11
|
DomainMethod["Update"] = "update";
|
|
12
12
|
})(DomainMethod || (exports.DomainMethod = DomainMethod = {}));
|
|
13
|
+
exports.DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS = [
|
|
14
|
+
DomainMethod.BulkCreate,
|
|
15
|
+
DomainMethod.Create,
|
|
16
|
+
DomainMethod.Delete,
|
|
17
|
+
DomainMethod.Find,
|
|
18
|
+
DomainMethod.FindOne,
|
|
19
|
+
DomainMethod.Update
|
|
20
|
+
];
|
|
13
21
|
var DomainPersistanceEntityServiceType;
|
|
14
22
|
(function (DomainPersistanceEntityServiceType) {
|
|
15
23
|
DomainPersistanceEntityServiceType["All"] = "all";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.entity.service.definitions.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.definitions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"domain.entity.service.definitions.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.definitions.ts"],"names":[],"mappings":";;;AAgGA,IAAY,YAaX;AAbD,WAAY,YAAY;IAEtB,yCAAyB,CAAA;IAEzB,iCAAiB,CAAA;IAEjB,iCAAiB,CAAA;IAEjB,6BAAa,CAAA;IAEb,mCAAmB,CAAA;IAEnB,iCAAiB,CAAA;AACnB,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB;AAEY,QAAA,qCAAqC,GAAG;IACnD,YAAY,CAAC,UAAU;IACvB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,OAAO;IACpB,YAAY,CAAC,MAAM;CACpB,CAAC;AAEF,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAE5C,iDAAW,CAAA;IAEX,mDAAa,CAAA;AACf,CAAC,EALW,kCAAkC,kDAAlC,kCAAkC,QAK7C"}
|
|
@@ -19,110 +19,152 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
19
19
|
}
|
|
20
20
|
return t;
|
|
21
21
|
};
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
22
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
26
|
exports.DomainEntityService = void 0;
|
|
27
|
+
const immutable_1 = __importDefault(require("immutable"));
|
|
28
|
+
const ramda_1 = require("ramda");
|
|
24
29
|
const domain_entity_service_definitions_1 = require("./domain.entity.service.definitions");
|
|
25
30
|
const definitions_1 = require("../../common/definitions");
|
|
26
31
|
class DomainEntityService {
|
|
27
|
-
constructor(persistanceEntityService,
|
|
28
|
-
domain_entity_service_definitions_1.DomainMethod.BulkCreate,
|
|
29
|
-
domain_entity_service_definitions_1.DomainMethod.Create,
|
|
30
|
-
domain_entity_service_definitions_1.DomainMethod.Delete,
|
|
31
|
-
domain_entity_service_definitions_1.DomainMethod.Find,
|
|
32
|
-
domain_entity_service_definitions_1.DomainMethod.FindOne,
|
|
33
|
-
domain_entity_service_definitions_1.DomainMethod.Update
|
|
34
|
-
]) {
|
|
32
|
+
constructor(persistanceEntityService, defaultMethods = domain_entity_service_definitions_1.DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS, additionalPersistanceEntityServices) {
|
|
35
33
|
this.persistanceEntityService = persistanceEntityService;
|
|
36
|
-
this.additionalPersistanceEntityServices = additionalPersistanceEntityServices;
|
|
37
34
|
this.defaultMethods = defaultMethods;
|
|
35
|
+
this.additionalPersistanceEntityServices = additionalPersistanceEntityServices;
|
|
38
36
|
}
|
|
39
|
-
bulkCreate(data, options) {
|
|
37
|
+
bulkCreate(data, options, privateOptions) {
|
|
40
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
39
|
var _a;
|
|
42
40
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.BulkCreate))) {
|
|
43
41
|
throw new definitions_1.ApplicationError(`Method bulkCreate not implemented for class ${typeof this}.`);
|
|
44
42
|
}
|
|
45
|
-
const { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options || {};
|
|
43
|
+
const { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options || {};
|
|
46
44
|
const [firstServiceName, ...otherServiceNames] = persistanceServices;
|
|
47
|
-
const result = yield this.getPersistanceService(firstServiceName).bulkCreate(data);
|
|
45
|
+
const result = yield this.getPersistanceService(firstServiceName).bulkCreate(data, privateOptions);
|
|
48
46
|
return {
|
|
49
47
|
result,
|
|
50
48
|
resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
firstServiceResult: result,
|
|
50
|
+
hasFirstServiceResult: result.length > 0,
|
|
51
|
+
methodArgs: [result, privateOptions],
|
|
52
|
+
methodName: 'bulkCreate',
|
|
53
|
+
optionsArgIndex: 1,
|
|
54
|
+
optionsOverridesByService
|
|
53
55
|
})
|
|
54
56
|
};
|
|
55
57
|
});
|
|
56
58
|
}
|
|
57
|
-
create(data, options) {
|
|
59
|
+
create(data, options, privateOptions) {
|
|
58
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
61
|
var _a;
|
|
60
62
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Create))) {
|
|
61
63
|
throw new definitions_1.ApplicationError(`Method create not implemented for class ${typeof this}.`);
|
|
62
64
|
}
|
|
63
|
-
const { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options || {};
|
|
65
|
+
const { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options || {};
|
|
64
66
|
const [firstServiceName, ...otherServiceNames] = persistanceServices;
|
|
65
|
-
const result = yield this.getPersistanceService(firstServiceName).create(data);
|
|
67
|
+
const result = yield this.getPersistanceService(firstServiceName).create(data, privateOptions);
|
|
66
68
|
return {
|
|
67
69
|
result,
|
|
68
70
|
resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
firstServiceResult: result,
|
|
72
|
+
hasFirstServiceResult: typeof result !== 'undefined' && result !== null,
|
|
73
|
+
methodArgs: [result, privateOptions],
|
|
74
|
+
methodName: 'create',
|
|
75
|
+
optionsArgIndex: 1,
|
|
76
|
+
optionsOverridesByService
|
|
71
77
|
})
|
|
72
78
|
};
|
|
73
79
|
});
|
|
74
80
|
}
|
|
75
|
-
delete(options) {
|
|
81
|
+
delete(options, privateOptions) {
|
|
76
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
83
|
var _a;
|
|
78
84
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Delete))) {
|
|
79
85
|
throw new definitions_1.ApplicationError(`Method delete not implemented for class ${typeof this}.`);
|
|
80
86
|
}
|
|
81
|
-
const _b = options || {}, { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = _b, otherOptions = __rest(_b, ["persistanceServices"]);
|
|
87
|
+
const _b = options || {}, { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = _b, otherOptions = __rest(_b, ["optionsOverridesByService", "persistanceServices"]);
|
|
82
88
|
const [firstServiceName, ...otherServiceNames] = persistanceServices;
|
|
83
|
-
const result = yield this.getPersistanceService(firstServiceName).delete(otherOptions);
|
|
89
|
+
const result = yield this.getPersistanceService(firstServiceName).delete(otherOptions, privateOptions);
|
|
84
90
|
return {
|
|
85
91
|
result,
|
|
86
92
|
resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
firstServiceResult: result,
|
|
94
|
+
hasFirstServiceResult: !!result.count,
|
|
95
|
+
methodArgs: [otherOptions, privateOptions],
|
|
96
|
+
methodName: 'delete',
|
|
97
|
+
optionsArgIndex: 0,
|
|
98
|
+
optionsOverridesByService
|
|
89
99
|
})
|
|
90
100
|
};
|
|
91
101
|
});
|
|
92
102
|
}
|
|
93
|
-
find(options) {
|
|
103
|
+
find(options, privateOptions) {
|
|
94
104
|
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
var _a;
|
|
105
|
+
var _a, _b;
|
|
96
106
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Find))) {
|
|
97
107
|
throw new definitions_1.ApplicationError(`Method find not implemented for class ${typeof this}.`);
|
|
98
108
|
}
|
|
99
|
-
const
|
|
109
|
+
const _c = options || {}, { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main], saveAdditionalResultsInFirstService } = _c, otherOptions = __rest(_c, ["optionsOverridesByService", "persistanceServices", "saveAdditionalResultsInFirstService"]);
|
|
100
110
|
const [firstServiceName, ...otherServiceNames] = persistanceServices;
|
|
101
|
-
|
|
111
|
+
let result = yield this.getPersistanceService(firstServiceName).find(otherOptions, privateOptions);
|
|
112
|
+
const hasFirstServiceResult = result.items.length > 0;
|
|
113
|
+
const resultsByService = yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
114
|
+
firstServiceResult: result,
|
|
115
|
+
hasFirstServiceResult,
|
|
116
|
+
methodArgs: [otherOptions, privateOptions],
|
|
117
|
+
methodName: 'find',
|
|
118
|
+
optionsArgIndex: 0,
|
|
119
|
+
optionsOverridesByService
|
|
120
|
+
});
|
|
121
|
+
if (saveAdditionalResultsInFirstService && resultsByService) {
|
|
122
|
+
const { saveOptions, serviceName, useResultsForFirstService } = saveAdditionalResultsInFirstService;
|
|
123
|
+
const dataFromAdditionalService = resultsByService[serviceName];
|
|
124
|
+
if ((_b = dataFromAdditionalService === null || dataFromAdditionalService === void 0 ? void 0 : dataFromAdditionalService.items) === null || _b === void 0 ? void 0 : _b.length) {
|
|
125
|
+
yield this.persistanceEntityService.bulkCreate(dataFromAdditionalService.items, saveOptions);
|
|
126
|
+
if (useResultsForFirstService && !hasFirstServiceResult) {
|
|
127
|
+
result = dataFromAdditionalService;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
102
131
|
return {
|
|
103
132
|
result,
|
|
104
|
-
resultsByService
|
|
105
|
-
methodArgs: [otherOptions],
|
|
106
|
-
methodName: 'find'
|
|
107
|
-
})
|
|
133
|
+
resultsByService
|
|
108
134
|
};
|
|
109
135
|
});
|
|
110
136
|
}
|
|
111
|
-
findOne(options) {
|
|
137
|
+
findOne(options, privateOptions) {
|
|
112
138
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
139
|
var _a;
|
|
114
140
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.FindOne))) {
|
|
115
141
|
throw new definitions_1.ApplicationError(`Method findOne not implemented for class ${typeof this}.`);
|
|
116
142
|
}
|
|
117
|
-
const _b = options || {}, { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = _b, otherOptions = __rest(_b, ["persistanceServices"]);
|
|
143
|
+
const _b = options || {}, { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main], saveAdditionalResultsInFirstService } = _b, otherOptions = __rest(_b, ["optionsOverridesByService", "persistanceServices", "saveAdditionalResultsInFirstService"]);
|
|
118
144
|
const [firstServiceName, ...otherServiceNames] = persistanceServices;
|
|
119
|
-
|
|
145
|
+
let result = yield this.getPersistanceService(firstServiceName).findOne(otherOptions, privateOptions);
|
|
146
|
+
const hasFirstServiceResult = typeof result !== 'undefined' && result !== null;
|
|
147
|
+
const resultsByService = yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
148
|
+
firstServiceResult: result,
|
|
149
|
+
hasFirstServiceResult,
|
|
150
|
+
methodArgs: [otherOptions, privateOptions],
|
|
151
|
+
methodName: 'findOne',
|
|
152
|
+
optionsArgIndex: 0,
|
|
153
|
+
optionsOverridesByService
|
|
154
|
+
});
|
|
155
|
+
if (saveAdditionalResultsInFirstService && resultsByService) {
|
|
156
|
+
const { saveOptions, serviceName, useResultsForFirstService } = saveAdditionalResultsInFirstService;
|
|
157
|
+
const dataFromAdditionalService = resultsByService[serviceName];
|
|
158
|
+
if (dataFromAdditionalService) {
|
|
159
|
+
yield this.persistanceEntityService.create(dataFromAdditionalService, saveOptions);
|
|
160
|
+
if (useResultsForFirstService && !hasFirstServiceResult) {
|
|
161
|
+
result = dataFromAdditionalService;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
120
165
|
return {
|
|
121
166
|
result,
|
|
122
|
-
resultsByService
|
|
123
|
-
methodArgs: [otherOptions],
|
|
124
|
-
methodName: 'findOne'
|
|
125
|
-
})
|
|
167
|
+
resultsByService
|
|
126
168
|
};
|
|
127
169
|
});
|
|
128
170
|
}
|
|
@@ -133,7 +175,7 @@ class DomainEntityService {
|
|
|
133
175
|
}
|
|
134
176
|
const service = (_a = this.additionalPersistanceEntityServices) === null || _a === void 0 ? void 0 : _a[serviceName];
|
|
135
177
|
if (!service) {
|
|
136
|
-
throw new definitions_1.ApplicationError(`PersistanceEntityService ${serviceName} does not exist for DomainEntityService ${this.persistanceEntityService.getEntityName()}.`);
|
|
178
|
+
throw new definitions_1.ApplicationError(`PersistanceEntityService ${serviceName} does not exist for DomainEntityService ${this.persistanceEntityService.getEntityName(true) || '(no entity name)'}.`);
|
|
137
179
|
}
|
|
138
180
|
return service;
|
|
139
181
|
}
|
|
@@ -142,36 +184,91 @@ class DomainEntityService {
|
|
|
142
184
|
if (!serviceNames.length) {
|
|
143
185
|
return undefined;
|
|
144
186
|
}
|
|
145
|
-
const { methodArgs = [], methodName } = options;
|
|
187
|
+
const { firstServiceResult, hasFirstServiceResult, methodArgs = [], methodName, optionsArgIndex, optionsOverridesByService = {} } = options;
|
|
146
188
|
const returnDataByService = {};
|
|
147
189
|
if (!this.additionalPersistanceEntityServices) {
|
|
148
|
-
throw new definitions_1.ApplicationError(`No additional PersistanceEntityServices exist for DomainEntityService ${this.persistanceEntityService.getEntityName()}.`);
|
|
190
|
+
throw new definitions_1.ApplicationError(`No additional PersistanceEntityServices exist for DomainEntityService ${this.persistanceEntityService.getEntityName(true) || '(no entity name)'}.`);
|
|
191
|
+
}
|
|
192
|
+
if (Object.keys(optionsOverridesByService).length &&
|
|
193
|
+
(typeof optionsArgIndex === 'undefined' || optionsArgIndex < 0 || optionsArgIndex > methodArgs.length - 1)) {
|
|
194
|
+
throw new definitions_1.ApplicationError(`Invalid optionsArgIndex value ${optionsArgIndex} provided for DomainEntityService ${this.persistanceEntityService.getEntityName(true) || '(no entity name)'}.}.`);
|
|
149
195
|
}
|
|
150
196
|
for (const i in serviceNames) {
|
|
151
197
|
const serviceName = serviceNames[i];
|
|
152
|
-
const service = this.
|
|
198
|
+
const service = this.getPersistanceService(serviceName);
|
|
153
199
|
if (!service) {
|
|
154
|
-
throw new definitions_1.ApplicationError(`PersistanceEntityService ${serviceName} does not exist for DomainEntityService ${this.persistanceEntityService.getEntityName()}.`);
|
|
200
|
+
throw new definitions_1.ApplicationError(`PersistanceEntityService ${serviceName} does not exist for DomainEntityService ${this.persistanceEntityService.getEntityName(true) || '(no entity name)'}.`);
|
|
201
|
+
}
|
|
202
|
+
const serviceMethodOptionsOverrides = optionsOverridesByService[serviceName] || {};
|
|
203
|
+
const { filterByFirstServiceResultFields, runOnNoFirstServiceResultOnly = true } = serviceMethodOptionsOverrides, actualMethodOptionsOverrides = __rest(serviceMethodOptionsOverrides, ["filterByFirstServiceResultFields", "runOnNoFirstServiceResultOnly"]);
|
|
204
|
+
if ((runOnNoFirstServiceResultOnly === true || runOnNoFirstServiceResultOnly === 'true') &&
|
|
205
|
+
hasFirstServiceResult) {
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
const serviceMethodArgs = immutable_1.default.fromJS(methodArgs).toJS();
|
|
209
|
+
if (typeof serviceMethodArgs[optionsArgIndex] === 'undefined') {
|
|
210
|
+
if (optionsArgIndex > serviceMethodArgs.length - 1) {
|
|
211
|
+
serviceMethodArgs.push(actualMethodOptionsOverrides);
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
serviceMethodArgs[optionsArgIndex] = actualMethodOptionsOverrides;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
serviceMethodArgs[optionsArgIndex] = Object.assign(Object.assign({}, serviceMethodArgs[optionsArgIndex]), actualMethodOptionsOverrides);
|
|
219
|
+
}
|
|
220
|
+
if (filterByFirstServiceResultFields && Object.keys(filterByFirstServiceResultFields).length) {
|
|
221
|
+
if (!hasFirstServiceResult) {
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
const filters = {};
|
|
225
|
+
const resultItems = firstServiceResult.items || [
|
|
226
|
+
firstServiceResult
|
|
227
|
+
];
|
|
228
|
+
resultItems.forEach(resultItem => {
|
|
229
|
+
if (!resultItem) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
for (const sourceFieldName in filterByFirstServiceResultFields) {
|
|
233
|
+
const fieldValue = resultItem[sourceFieldName];
|
|
234
|
+
const targetFieldName = filterByFirstServiceResultFields[sourceFieldName];
|
|
235
|
+
if (typeof fieldValue === 'undefined') {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
if (!filters[targetFieldName]) {
|
|
239
|
+
filters[targetFieldName] = [];
|
|
240
|
+
}
|
|
241
|
+
filters[targetFieldName].push(fieldValue);
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
if (Object.keys(filters).length) {
|
|
245
|
+
const serviceMethodOptions = serviceMethodArgs[optionsArgIndex];
|
|
246
|
+
serviceMethodArgs[optionsArgIndex] = Object.assign(Object.assign({}, serviceMethodOptions), { filters: Object.assign(Object.assign({}, (0, ramda_1.omit)(['page', 'perPage'], serviceMethodOptions.filters || {})), filters), findAll: true });
|
|
247
|
+
}
|
|
155
248
|
}
|
|
156
|
-
returnDataByService[serviceName] = (yield service[methodName].apply(service,
|
|
249
|
+
returnDataByService[serviceName] = (yield service[methodName].apply(service, serviceMethodArgs));
|
|
157
250
|
}
|
|
158
251
|
return returnDataByService;
|
|
159
252
|
});
|
|
160
253
|
}
|
|
161
|
-
update(data, options) {
|
|
254
|
+
update(data, options, privateOptions) {
|
|
162
255
|
return __awaiter(this, void 0, void 0, function* () {
|
|
163
256
|
var _a;
|
|
164
257
|
if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Update))) {
|
|
165
258
|
throw new definitions_1.ApplicationError(`Method update not implemented for class ${typeof this}.`);
|
|
166
259
|
}
|
|
167
|
-
const { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options, otherOptions = __rest(options, ["persistanceServices"]);
|
|
260
|
+
const { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options, otherOptions = __rest(options, ["optionsOverridesByService", "persistanceServices"]);
|
|
168
261
|
const [firstServiceName, ...otherServiceNames] = persistanceServices;
|
|
169
|
-
const result = yield this.getPersistanceService(firstServiceName).update(data, otherOptions);
|
|
262
|
+
const result = yield this.getPersistanceService(firstServiceName).update(data, otherOptions, privateOptions);
|
|
170
263
|
return {
|
|
171
264
|
result,
|
|
172
265
|
resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
|
|
173
|
-
|
|
174
|
-
|
|
266
|
+
firstServiceResult: result,
|
|
267
|
+
hasFirstServiceResult: !!result.count,
|
|
268
|
+
methodArgs: [data, otherOptions, privateOptions],
|
|
269
|
+
methodName: 'update',
|
|
270
|
+
optionsArgIndex: 1,
|
|
271
|
+
optionsOverridesByService
|
|
175
272
|
})
|
|
176
273
|
};
|
|
177
274
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.entity.service.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain.entity.service.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import { PersistanceDeleteOptions, PersistanceDeleteResult, PersistanceFindOneOptions, PersistanceFindOptions, PersistanceFindResults, PersistanceUpdateOptions, PersistanceUpdateResult } from './persistance.entity.service.definitions';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { PersistanceBulkCreatePrivateOptions, PersistanceCountPrivateOptions, PersistanceCreatePrivateOptions, PersistanceDeleteOptions, PersistanceDeletePrivateOptions, PersistanceDeleteResult, PersistanceFindOneOptions, PersistanceFindOnePrivateOptions, PersistanceFindOptions, PersistanceFindPrivateOptions, PersistanceFindResults, PersistanceUpdateOptions, PersistanceUpdatePrivateOptions, PersistanceUpdateResult, ProcessObjectAllowedFieldsOptions } from './persistance.entity.service.definitions';
|
|
2
|
+
import { AppConfigCommonPersistanceEntityServiceSettings, ConfigProviderService } from '../../common/configProvider';
|
|
3
|
+
export declare abstract class PersistanceEntityService<Entity> {
|
|
4
|
+
protected configProvider: ConfigProviderService;
|
|
5
|
+
protected persistanceModuleName: string;
|
|
6
|
+
protected settings: AppConfigCommonPersistanceEntityServiceSettings;
|
|
7
|
+
constructor(configProvider: ConfigProviderService, persistanceModuleName: string);
|
|
8
|
+
bulkCreate(_data: Partial<Entity>[], _options?: unknown, _privateOptions?: PersistanceBulkCreatePrivateOptions): Promise<Entity[]>;
|
|
9
|
+
count(_options: PersistanceFindOptions, _privateOptions?: PersistanceCountPrivateOptions): Promise<number | undefined>;
|
|
10
|
+
create(_data: Partial<Entity>, _options?: unknown, _privateOptions?: PersistanceCreatePrivateOptions): Promise<Entity>;
|
|
11
|
+
delete(_options: PersistanceDeleteOptions, _privateOptions?: PersistanceDeletePrivateOptions): Promise<PersistanceDeleteResult<Entity>>;
|
|
12
|
+
find(_options: PersistanceFindOptions, _privateOptions?: PersistanceFindPrivateOptions): Promise<PersistanceFindResults<Entity>>;
|
|
13
|
+
findOne(_options: PersistanceFindOneOptions, _privateOptions?: PersistanceFindOnePrivateOptions): Promise<Entity | null>;
|
|
14
|
+
getEntityName(noError?: boolean): string | null;
|
|
15
|
+
protected processObjectAllowedFields<Data = Partial<Entity>>(data: Data | Data[], options: ProcessObjectAllowedFieldsOptions): Promise<Data | Data[]>;
|
|
16
|
+
update(_data: Partial<Entity>, _options: PersistanceUpdateOptions, _privateOptions?: PersistanceUpdatePrivateOptions): Promise<PersistanceUpdateResult<Entity>>;
|
|
11
17
|
}
|
|
@@ -1,44 +1,76 @@
|
|
|
1
1
|
import { GenericObject } from '../../common/definitions';
|
|
2
|
+
export interface PersistanceBulkCreatePrivateOptions extends GenericObject {
|
|
3
|
+
processInputAllowedFieldsEnabled?: boolean;
|
|
4
|
+
}
|
|
2
5
|
export interface PersistanceCountOptions {
|
|
3
6
|
filters?: GenericObject;
|
|
4
7
|
findAll?: boolean;
|
|
5
8
|
withDeleted?: boolean;
|
|
6
9
|
}
|
|
10
|
+
export interface PersistanceCountPrivateOptions extends GenericObject {
|
|
11
|
+
allowCountWithoutFilters?: boolean;
|
|
12
|
+
processFiltersAllowedFieldsEnabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface PersistanceCreatePrivateOptions {
|
|
15
|
+
processInputAllowedFieldsEnabled?: boolean;
|
|
16
|
+
}
|
|
7
17
|
export interface PersistanceDeleteOptions {
|
|
8
18
|
filters: GenericObject;
|
|
19
|
+
returnOriginalItems?: boolean;
|
|
9
20
|
softDelete?: boolean;
|
|
10
21
|
}
|
|
11
|
-
export interface
|
|
22
|
+
export interface PersistanceDeletePrivateOptions extends GenericObject {
|
|
23
|
+
processFiltersAllowedFieldsEnabled?: boolean;
|
|
24
|
+
requirePrimaryKeys?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface PersistanceDeleteResult<Item> {
|
|
12
27
|
count?: number;
|
|
28
|
+
originalItems?: Item[];
|
|
13
29
|
}
|
|
14
30
|
export interface PersistanceFindOneOptions {
|
|
15
31
|
filters: GenericObject;
|
|
16
32
|
include?: string[];
|
|
17
|
-
orderBy?: GenericObject<
|
|
33
|
+
orderBy?: GenericObject<PersistanceOrderByDirection>;
|
|
18
34
|
select?: string[];
|
|
19
35
|
selectOperator?: PersistanceSelectOperator;
|
|
20
36
|
withDeleted?: boolean;
|
|
21
37
|
}
|
|
38
|
+
export interface PersistanceFindOnePrivateOptions extends GenericObject {
|
|
39
|
+
processFiltersAllowedFieldsEnabled?: boolean;
|
|
40
|
+
}
|
|
22
41
|
export interface PersistanceFindOptions {
|
|
23
42
|
filters?: GenericObject;
|
|
24
43
|
findAll?: boolean;
|
|
44
|
+
getTotalCount?: boolean;
|
|
25
45
|
include?: string[];
|
|
26
|
-
orderBy?: GenericObject<
|
|
46
|
+
orderBy?: GenericObject<PersistanceOrderByDirection>;
|
|
27
47
|
page?: number;
|
|
28
48
|
perPage?: number;
|
|
29
49
|
select?: string[];
|
|
30
50
|
withDeleted?: boolean;
|
|
31
51
|
}
|
|
52
|
+
export interface PersistanceFindPrivateOptions extends GenericObject {
|
|
53
|
+
processFiltersAllowedFieldsEnabled?: boolean;
|
|
54
|
+
}
|
|
32
55
|
export interface PersistanceFindResults<Item> {
|
|
33
56
|
items: Item[];
|
|
34
57
|
more: boolean;
|
|
35
58
|
page: number;
|
|
36
59
|
perPage: number;
|
|
60
|
+
totalCount?: number;
|
|
37
61
|
}
|
|
38
62
|
export interface PersistanceNumberItem {
|
|
39
63
|
deleted?: boolean;
|
|
40
64
|
value: number;
|
|
41
65
|
}
|
|
66
|
+
export interface PersistanceOrderBy {
|
|
67
|
+
field: string;
|
|
68
|
+
direction: PersistanceOrderByDirection;
|
|
69
|
+
}
|
|
70
|
+
export declare enum PersistanceOrderByDirection {
|
|
71
|
+
Asc = "ASC",
|
|
72
|
+
Desc = "DESC"
|
|
73
|
+
}
|
|
42
74
|
export declare enum PersistanceSelectOperator {
|
|
43
75
|
Between = "$between",
|
|
44
76
|
Contains = "$contains",
|
|
@@ -55,8 +87,25 @@ export declare enum PersistanceSelectOperator {
|
|
|
55
87
|
export interface PersistanceUpdateOptions {
|
|
56
88
|
filters: GenericObject;
|
|
57
89
|
returnData?: boolean;
|
|
90
|
+
returnOriginalItems?: boolean;
|
|
91
|
+
}
|
|
92
|
+
export interface PersistanceUpdatePrivateOptions extends GenericObject {
|
|
93
|
+
processFiltersAllowedFieldsEnabled?: boolean;
|
|
94
|
+
processInputAllowedFieldsEnabled?: boolean;
|
|
95
|
+
requirePrimaryKeys?: boolean;
|
|
96
|
+
withDeleted?: boolean;
|
|
58
97
|
}
|
|
59
98
|
export interface PersistanceUpdateResult<Item> {
|
|
60
99
|
count?: number;
|
|
61
100
|
items?: Item[];
|
|
101
|
+
originalItems?: Item[];
|
|
102
|
+
}
|
|
103
|
+
export interface ProcessObjectAllowedFieldsOptions {
|
|
104
|
+
allowedFields: string[];
|
|
105
|
+
isEnabled?: boolean;
|
|
106
|
+
objectType: string;
|
|
107
|
+
}
|
|
108
|
+
export declare enum ProcessObjectAllowedFieldsType {
|
|
109
|
+
Filters = "processFiltersAllowedFieldsEnabled",
|
|
110
|
+
Input = "processInputAllowedFieldsEnabled"
|
|
62
111
|
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PersistanceSelectOperator = void 0;
|
|
3
|
+
exports.ProcessObjectAllowedFieldsType = exports.PersistanceSelectOperator = exports.PersistanceOrderByDirection = void 0;
|
|
4
|
+
var PersistanceOrderByDirection;
|
|
5
|
+
(function (PersistanceOrderByDirection) {
|
|
6
|
+
PersistanceOrderByDirection["Asc"] = "ASC";
|
|
7
|
+
PersistanceOrderByDirection["Desc"] = "DESC";
|
|
8
|
+
})(PersistanceOrderByDirection || (exports.PersistanceOrderByDirection = PersistanceOrderByDirection = {}));
|
|
4
9
|
var PersistanceSelectOperator;
|
|
5
10
|
(function (PersistanceSelectOperator) {
|
|
6
11
|
PersistanceSelectOperator["Between"] = "$between";
|
|
@@ -15,4 +20,9 @@ var PersistanceSelectOperator;
|
|
|
15
20
|
PersistanceSelectOperator["Not"] = "$not";
|
|
16
21
|
PersistanceSelectOperator["Or"] = "$or";
|
|
17
22
|
})(PersistanceSelectOperator || (exports.PersistanceSelectOperator = PersistanceSelectOperator = {}));
|
|
23
|
+
var ProcessObjectAllowedFieldsType;
|
|
24
|
+
(function (ProcessObjectAllowedFieldsType) {
|
|
25
|
+
ProcessObjectAllowedFieldsType["Filters"] = "processFiltersAllowedFieldsEnabled";
|
|
26
|
+
ProcessObjectAllowedFieldsType["Input"] = "processInputAllowedFieldsEnabled";
|
|
27
|
+
})(ProcessObjectAllowedFieldsType || (exports.ProcessObjectAllowedFieldsType = ProcessObjectAllowedFieldsType = {}));
|
|
18
28
|
//# sourceMappingURL=persistance.entity.service.definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistance.entity.service.definitions.js","sourceRoot":"","sources":["../../../src/persistance/entityService/persistance.entity.service.definitions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"persistance.entity.service.definitions.js","sourceRoot":"","sources":["../../../src/persistance/entityService/persistance.entity.service.definitions.ts"],"names":[],"mappings":";;;AAoFA,IAAY,2BAKX;AALD,WAAY,2BAA2B;IAErC,0CAAW,CAAA;IAEX,4CAAa,CAAA;AACf,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC;AAED,IAAY,yBAuBX;AAvBD,WAAY,yBAAyB;IAEnC,iDAAoB,CAAA;IAEpB,mDAAsB,CAAA;IAEtB,2CAAc,CAAA;IAEd,gDAAmB,CAAA;IAEnB,wDAA2B,CAAA;IAE3B,6CAAgB,CAAA;IAEhB,qDAAwB,CAAA;IAExB,2CAAc,CAAA;IAEd,6CAAgB,CAAA;IAEhB,yCAAY,CAAA;IAEZ,uCAAU,CAAA;AACZ,CAAC,EAvBW,yBAAyB,yCAAzB,yBAAyB,QAuBpC;AA2BD,IAAY,8BAKX;AALD,WAAY,8BAA8B;IAExC,gFAA8C,CAAA;IAE9C,4EAA0C,CAAA;AAC5C,CAAC,EALW,8BAA8B,8CAA9B,8BAA8B,QAKzC"}
|
|
@@ -12,34 +12,66 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.PersistanceEntityService = void 0;
|
|
13
13
|
const definitions_1 = require("../../common/definitions");
|
|
14
14
|
class PersistanceEntityService {
|
|
15
|
-
|
|
15
|
+
constructor(configProvider, persistanceModuleName) {
|
|
16
|
+
this.configProvider = configProvider;
|
|
17
|
+
this.persistanceModuleName = persistanceModuleName;
|
|
18
|
+
const { settingsPerEntity } = configProvider.config.persistance[persistanceModuleName];
|
|
19
|
+
this.settings = settingsPerEntity || {};
|
|
20
|
+
}
|
|
21
|
+
bulkCreate(_data, _options, _privateOptions) {
|
|
16
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
23
|
throw new definitions_1.ApplicationError(`Method bulkCreate not implemented for class ${typeof this}.`);
|
|
18
24
|
});
|
|
19
25
|
}
|
|
20
|
-
|
|
26
|
+
count(_options, _privateOptions) {
|
|
21
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
throw new definitions_1.ApplicationError(`Method
|
|
28
|
+
throw new definitions_1.ApplicationError(`Method count not implemented for class ${typeof this}.`);
|
|
23
29
|
});
|
|
24
30
|
}
|
|
25
|
-
|
|
31
|
+
create(_data, _options, _privateOptions) {
|
|
26
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
throw new definitions_1.ApplicationError(`Method
|
|
33
|
+
throw new definitions_1.ApplicationError(`Method create not implemented for class ${typeof this}.`);
|
|
28
34
|
});
|
|
29
35
|
}
|
|
30
|
-
delete(_options) {
|
|
36
|
+
delete(_options, _privateOptions) {
|
|
31
37
|
throw new definitions_1.ApplicationError(`Method delete not implemented for class ${typeof this}.`);
|
|
32
38
|
}
|
|
33
|
-
find(_options) {
|
|
39
|
+
find(_options, _privateOptions) {
|
|
34
40
|
throw new definitions_1.ApplicationError(`Method find not implemented for class ${typeof this}.`);
|
|
35
41
|
}
|
|
36
|
-
findOne(_options) {
|
|
42
|
+
findOne(_options, _privateOptions) {
|
|
37
43
|
throw new definitions_1.ApplicationError(`Method findOne not implemented for class ${typeof this}.`);
|
|
38
44
|
}
|
|
39
|
-
getEntityName() {
|
|
45
|
+
getEntityName(noError) {
|
|
46
|
+
if (noError) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
40
49
|
throw new definitions_1.ApplicationError(`Method getEntityName not implemented for class ${typeof this}.`);
|
|
41
50
|
}
|
|
42
|
-
|
|
51
|
+
processObjectAllowedFields(data, options) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const { settings } = this;
|
|
54
|
+
const { allowedFields, isEnabled, objectType } = options;
|
|
55
|
+
if (isEnabled === false || (typeof isEnabled === 'undefined' && !settings[objectType])) {
|
|
56
|
+
return data;
|
|
57
|
+
}
|
|
58
|
+
const actualData = data instanceof Array ? data : [data];
|
|
59
|
+
const processedData = [];
|
|
60
|
+
actualData.forEach(dataItem => {
|
|
61
|
+
const processedDataItem = {};
|
|
62
|
+
allowedFields.forEach(fieldName => {
|
|
63
|
+
const typedFieldName = fieldName;
|
|
64
|
+
const value = dataItem[typedFieldName];
|
|
65
|
+
if (typeof value !== 'undefined') {
|
|
66
|
+
processedDataItem[typedFieldName] = value;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
processedData.push(processedDataItem);
|
|
70
|
+
});
|
|
71
|
+
return processedData.length === 1 ? processedData[0] : processedData;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
update(_data, _options, _privateOptions) {
|
|
43
75
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
76
|
throw new definitions_1.ApplicationError(`Method update not implemented for class ${typeof this}.`);
|
|
45
77
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistance.entity.service.js","sourceRoot":"","sources":["../../../src/persistance/entityService/persistance.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"persistance.entity.service.js","sourceRoot":"","sources":["../../../src/persistance/entityService/persistance.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAuBA,0DAA4D;AAM5D,MAAsB,wBAAwB;IAG5C,YACY,cAAqC,EACrC,qBAA6B;QAD7B,mBAAc,GAAd,cAAc,CAAuB;QACrC,0BAAqB,GAArB,qBAAqB,CAAQ;QAEvC,MAAM,EAAE,iBAAiB,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,WAAW,CAC7D,qBAAqB,CACQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,iBAAiB,IAAI,EAAE,CAAC;IAC1C,CAAC;IAEY,UAAU,CAErB,KAAwB,EAExB,QAAkB,EAElB,eAAqD;;YAErD,MAAM,IAAI,8BAAgB,CAAC,+CAA+C,OAAO,IAAI,GAAG,CAAC,CAAC;QAC5F,CAAC;KAAA;IAEY,KAAK,CAEhB,QAAgC,EAEhC,eAAgD;;YAEhD,MAAM,IAAI,8BAAgB,CAAC,0CAA0C,OAAO,IAAI,GAAG,CAAC,CAAC;QACvF,CAAC;KAAA;IAEY,MAAM,CAEjB,KAAsB,EAEtB,QAAkB,EAElB,eAAiD;;YAEjD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;QACxF,CAAC;KAAA;IAEM,MAAM,CAEX,QAAkC,EAElC,eAAiD;QAEjD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;IACxF,CAAC;IAEM,IAAI,CAET,QAAgC,EAEhC,eAA+C;QAE/C,MAAM,IAAI,8BAAgB,CAAC,yCAAyC,OAAO,IAAI,GAAG,CAAC,CAAC;IACtF,CAAC;IAEM,OAAO,CAEZ,QAAmC,EAEnC,eAAkD;QAElD,MAAM,IAAI,8BAAgB,CAAC,4CAA4C,OAAO,IAAI,GAAG,CAAC,CAAC;IACzF,CAAC;IAGM,aAAa,CAAC,OAAiB;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,8BAAgB,CAAC,kDAAkD,OAAO,IAAI,GAAG,CAAC,CAAC;IAC/F,CAAC;IAGe,0BAA0B,CACxC,IAAmB,EACnB,OAA0C;;YAE1C,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC1B,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YACzD,IAAI,SAAS,KAAK,KAAK,IAAI,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,UAAmC,CAAC,CAAC,EAAE,CAAC;gBAChH,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,aAAa,GAAW,EAAE,CAAC;YACjC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC5B,MAAM,iBAAiB,GAAG,EAAU,CAAC;gBACrC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAChC,MAAM,cAAc,GAAG,SAAkC,CAAC;oBAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACvC,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;wBACjC,iBAAiB,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;oBAC5C,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACvE,CAAC;KAAA;IAEY,MAAM,CAEjB,KAAsB,EAEtB,QAAkC,EAElC,eAAiD;;YAEjD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;QACxF,CAAC;KAAA;CACF;AAnHD,4DAmHC"}
|