@izara_project/izara-core-library-service-schemas 1.0.82 → 1.0.83
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/package.json +2 -2
- package/src/UploadObjSchema.js +11 -22
- package/src/Utils.js +4 -0
- package/src/ValidatorSchema.js +50 -56
- package/src/libs/DeliminatorTree.js +14 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@izara_project/izara-core-library-service-schemas",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.83",
|
|
4
4
|
"description": "Schemas for the service and objects it controls",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"@izara_project/izara-core-library-lambda": "^1.0.4",
|
|
30
30
|
"@izara_project/izara-core-library-logger": "^1.0.7",
|
|
31
31
|
"@izara_project/izara-shared-core": "^1.0.2",
|
|
32
|
-
"@izara_project/izara-shared-service-schemas": "^1.0.
|
|
32
|
+
"@izara_project/izara-shared-service-schemas": "^1.0.26",
|
|
33
33
|
"glob": "^11.0.3",
|
|
34
34
|
"lodash": "^4.17.21",
|
|
35
35
|
"object-hash": "^3.0.0",
|
package/src/UploadObjSchema.js
CHANGED
|
@@ -242,8 +242,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
242
242
|
uploadObjectToS3(
|
|
243
243
|
_izContext,
|
|
244
244
|
UPLOAD_PATH_S3.lambdaFunctions(_izContext, process.env.iz_serviceTag),
|
|
245
|
-
lambdaFunctions
|
|
246
|
-
|
|
245
|
+
lambdaFunctions
|
|
247
246
|
)
|
|
248
247
|
);
|
|
249
248
|
}
|
|
@@ -253,8 +252,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
253
252
|
uploadObjectToS3(
|
|
254
253
|
_izContext,
|
|
255
254
|
UPLOAD_PATH_S3.serviceName(_izContext, process.env.iz_serviceTag),
|
|
256
|
-
{ serviceName: process.env.iz_serviceName }
|
|
257
|
-
|
|
255
|
+
{ serviceName: process.env.iz_serviceName }
|
|
258
256
|
)
|
|
259
257
|
);
|
|
260
258
|
|
|
@@ -272,8 +270,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
272
270
|
objectType: objSchema.objectType
|
|
273
271
|
}
|
|
274
272
|
),
|
|
275
|
-
objSchema
|
|
276
|
-
|
|
273
|
+
objSchema
|
|
277
274
|
)
|
|
278
275
|
);
|
|
279
276
|
|
|
@@ -290,8 +287,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
290
287
|
objectType: createFieldSchema.objectType
|
|
291
288
|
}
|
|
292
289
|
),
|
|
293
|
-
createFieldSchema
|
|
294
|
-
|
|
290
|
+
createFieldSchema
|
|
295
291
|
)
|
|
296
292
|
);
|
|
297
293
|
|
|
@@ -310,8 +306,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
310
306
|
objectType: createFieldSchema.objectType
|
|
311
307
|
}
|
|
312
308
|
),
|
|
313
|
-
updateFieldSchema
|
|
314
|
-
|
|
309
|
+
updateFieldSchema
|
|
315
310
|
)
|
|
316
311
|
);
|
|
317
312
|
|
|
@@ -329,8 +324,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
329
324
|
objectType: combineFieldNamesObjectSchema.objectType
|
|
330
325
|
}
|
|
331
326
|
),
|
|
332
|
-
combineFieldNamesObjectSchema
|
|
333
|
-
|
|
327
|
+
combineFieldNamesObjectSchema
|
|
334
328
|
)
|
|
335
329
|
);
|
|
336
330
|
|
|
@@ -340,8 +334,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
340
334
|
uploadObjectToS3(
|
|
341
335
|
_izContext,
|
|
342
336
|
UPLOAD_PATH_S3.getEndpointPerObjectType(_izContext, { objectType: objSchema.objectType, serviceTag: process.env.iz_serviceTag }),
|
|
343
|
-
apiLink
|
|
344
|
-
|
|
337
|
+
apiLink
|
|
345
338
|
)
|
|
346
339
|
)
|
|
347
340
|
|
|
@@ -349,8 +342,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
349
342
|
uploadObjectToS3(
|
|
350
343
|
_izContext,
|
|
351
344
|
UPLOAD_PATH_S3.getEndpointPerService(process.env.iz_serviceTag),
|
|
352
|
-
apiLink
|
|
353
|
-
|
|
345
|
+
apiLink
|
|
354
346
|
)
|
|
355
347
|
)
|
|
356
348
|
|
|
@@ -368,8 +360,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
368
360
|
serviceTag: process.env.iz_serviceTag
|
|
369
361
|
}
|
|
370
362
|
),
|
|
371
|
-
existsRefObjectRel
|
|
372
|
-
|
|
363
|
+
existsRefObjectRel
|
|
373
364
|
)
|
|
374
365
|
)
|
|
375
366
|
} else {
|
|
@@ -388,8 +379,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
388
379
|
serviceTag: process.env.iz_serviceTag
|
|
389
380
|
}
|
|
390
381
|
),
|
|
391
|
-
await refRelationshipPerObjectSchema(_izContext, objSchema)
|
|
392
|
-
|
|
382
|
+
await refRelationshipPerObjectSchema(_izContext, objSchema)
|
|
393
383
|
)
|
|
394
384
|
)
|
|
395
385
|
}
|
|
@@ -402,8 +392,7 @@ async function uploadObjectSchemaByUseCase(_izContext, bucketName) {
|
|
|
402
392
|
uploadObjectToS3(
|
|
403
393
|
_izContext,
|
|
404
394
|
UPLOAD_PATH_S3.objectListAll(_izContext, process.env.iz_serviceTag),
|
|
405
|
-
foundedObjectTypes
|
|
406
|
-
|
|
395
|
+
foundedObjectTypes
|
|
407
396
|
)
|
|
408
397
|
);
|
|
409
398
|
|
package/src/Utils.js
CHANGED
|
@@ -228,6 +228,10 @@ function validateBasicObjectSchema(_izContext, objectSchema) {
|
|
|
228
228
|
if (objectSchema.fieldNames[identifierFieldName]?.canUpdate === true) {
|
|
229
229
|
errors.push(`${objectType}.fieldNames.${identifierFieldName}: canUpdate cannot be true because this fieldName is identifier`);
|
|
230
230
|
}
|
|
231
|
+
|
|
232
|
+
if (objectSchema.fieldNames[identifierFieldName]?.userCanUpdate === true) {
|
|
233
|
+
errors.push(`${objectType}.fieldNames.${identifierFieldName}: userCanUpdate cannot be true because this fieldName is identifier`);
|
|
234
|
+
}
|
|
231
235
|
}
|
|
232
236
|
|
|
233
237
|
errors.push(...validateFieldNamesWithStorageResources(_izContext, objectSchema))
|
package/src/ValidatorSchema.js
CHANGED
|
@@ -20,7 +20,7 @@ along with this program.If not, see < http://www.gnu.org/licenses/>.
|
|
|
20
20
|
|
|
21
21
|
const readYamlFile = require('read-yaml-file');
|
|
22
22
|
const lodash = require('lodash')
|
|
23
|
-
const { inMemoryCacheLib, NoRetryError } = require('@izara_project/izara-core-library-core');
|
|
23
|
+
const { inMemoryCacheLib, NoRetryError, consts } = require('@izara_project/izara-core-library-core');
|
|
24
24
|
const Logger = require('@izara_project/izara-core-library-logger');
|
|
25
25
|
const uploadUseCase = require('./libs/UploadUseCase')
|
|
26
26
|
|
|
@@ -89,7 +89,7 @@ async function generateValidatorSchemaTreePerFieldName(_izContext, fieldName, fi
|
|
|
89
89
|
};
|
|
90
90
|
|
|
91
91
|
|
|
92
|
-
if (fieldNameSetting.
|
|
92
|
+
if (fieldNameSetting.fromObjType) {
|
|
93
93
|
|
|
94
94
|
Object.assign(
|
|
95
95
|
validatorTree[fieldName],
|
|
@@ -102,10 +102,7 @@ async function generateValidatorSchemaTreePerFieldName(_izContext, fieldName, fi
|
|
|
102
102
|
|
|
103
103
|
let childObjectSchema = await getObjSchemaS3WithHierarchy(
|
|
104
104
|
_izContext,
|
|
105
|
-
|
|
106
|
-
objectType: fieldNameSetting.fromObjectType,
|
|
107
|
-
serviceTag: fieldNameSetting.fromServiceNameTag
|
|
108
|
-
}
|
|
105
|
+
fieldNameSetting.fromObjType
|
|
109
106
|
);
|
|
110
107
|
|
|
111
108
|
if (!childObjectSchema) {
|
|
@@ -466,7 +463,7 @@ async function generateValidatorSchemaForCreate(_izContext, objType, settings =
|
|
|
466
463
|
// ------- create return validatorSchema -------
|
|
467
464
|
let validatorSchemaForCreate = {
|
|
468
465
|
type: "object",
|
|
469
|
-
required: ["fieldNames"
|
|
466
|
+
required: ["fieldNames"],
|
|
470
467
|
properties: {
|
|
471
468
|
fieldNames: {
|
|
472
469
|
additionalProperties: false,
|
|
@@ -476,10 +473,6 @@ async function generateValidatorSchemaForCreate(_izContext, objType, settings =
|
|
|
476
473
|
...allValidatorSchemaFieldNames
|
|
477
474
|
}
|
|
478
475
|
},
|
|
479
|
-
objectType: {
|
|
480
|
-
type: "string",
|
|
481
|
-
pattern: "^[a-zA-Z0-9_-]+$"
|
|
482
|
-
},
|
|
483
476
|
additionalParams: {
|
|
484
477
|
type: "object"
|
|
485
478
|
}
|
|
@@ -525,15 +518,28 @@ async function generateValidatorSchemaForUpdate(_izContext, objType, settings =
|
|
|
525
518
|
let canUpdateProperties = {};
|
|
526
519
|
let usedFieldNames = identifiersFieldNames;
|
|
527
520
|
let versionedDataFieldNames = [];
|
|
521
|
+
|
|
528
522
|
// collect canUpdate fieldName (all fieldName have CanUpdate setting = true)
|
|
529
523
|
for (let [fieldName, fieldNameSetting] of Object.entries(objectSchemas.fieldNames)) {
|
|
530
|
-
if (
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
524
|
+
if (settings.handler === "ApiGateway") {
|
|
525
|
+
if (fieldNameSetting.userCanUpdate === true) {
|
|
526
|
+
canUpdateFieldNames.push(fieldName);
|
|
527
|
+
canUpdateProperties[fieldName] = {
|
|
528
|
+
type: fieldNameSetting.type
|
|
529
|
+
}
|
|
530
|
+
if (fieldNameSetting.hasOwnProperty("versionedDataLabel")) {
|
|
531
|
+
versionedDataFieldNames.push(fieldName)
|
|
532
|
+
}
|
|
534
533
|
}
|
|
535
|
-
|
|
536
|
-
|
|
534
|
+
} else {
|
|
535
|
+
if (fieldNameSetting.canUpdate === true || fieldNameSetting.canUpdate === undefined) {
|
|
536
|
+
canUpdateFieldNames.push(fieldName);
|
|
537
|
+
canUpdateProperties[fieldName] = {
|
|
538
|
+
type: fieldNameSetting.type,
|
|
539
|
+
}
|
|
540
|
+
if (fieldNameSetting.hasOwnProperty("versionedDataLabel")) {
|
|
541
|
+
versionedDataFieldNames.push(fieldName)
|
|
542
|
+
}
|
|
537
543
|
}
|
|
538
544
|
}
|
|
539
545
|
}
|
|
@@ -560,13 +566,13 @@ async function generateValidatorSchemaForUpdate(_izContext, objType, settings =
|
|
|
560
566
|
let defaultFieldNames = usedFieldNames.filter(fieldName => !identifiersFieldNames.includes(fieldName));
|
|
561
567
|
|
|
562
568
|
_izContext.logger.debug('identifiersFieldNames : ', identifiersFieldNames);
|
|
563
|
-
_izContext.logger.debug('usedFieldNames : ', usedFieldNames);
|
|
569
|
+
_izContext.logger.debug('usedFieldNames : ', usedFieldNames); // all fieldName
|
|
564
570
|
_izContext.logger.debug("defaultFieldNames :", defaultFieldNames);
|
|
565
571
|
_izContext.logger.debug("versionedDataFieldNames :", versionedDataFieldNames);
|
|
566
572
|
|
|
567
573
|
let initialValidatorSchemaForUpdate = {
|
|
568
574
|
type: "object",
|
|
569
|
-
required: ["objInstanceFull"
|
|
575
|
+
required: ["objInstanceFull"],
|
|
570
576
|
properties: {
|
|
571
577
|
objectType: {
|
|
572
578
|
type: "string",
|
|
@@ -578,21 +584,25 @@ async function generateValidatorSchemaForUpdate(_izContext, objType, settings =
|
|
|
578
584
|
properties: {
|
|
579
585
|
identifiers: {
|
|
580
586
|
type: "object",
|
|
581
|
-
...
|
|
587
|
+
...await filteredFieldNamesOfValidatorSchema(_izContext, objType, identifiersFieldNames, identifiersFieldNames)
|
|
582
588
|
},
|
|
583
589
|
fields: {
|
|
584
590
|
type: "object",
|
|
585
591
|
additionalProperties: false,
|
|
586
|
-
required: [],
|
|
587
|
-
properties: {}
|
|
592
|
+
// required: [],
|
|
593
|
+
// properties: {},
|
|
594
|
+
...await filteredFieldNamesOfValidatorSchema(_izContext, objType, [], defaultFieldNames)
|
|
595
|
+
|
|
588
596
|
},
|
|
589
597
|
}
|
|
590
598
|
},
|
|
591
599
|
versionedDataIds: {
|
|
592
600
|
type: "object",
|
|
593
601
|
additionalProperties: false,
|
|
594
|
-
required: [], // no need to required versionedDataLabel
|
|
595
|
-
properties: {},
|
|
602
|
+
// required: [], // no need to required versionedDataLabel
|
|
603
|
+
// properties: {},
|
|
604
|
+
...await filteredFieldNamesOfValidatorSchema(_izContext, objType, [], versionedDataFieldNames)
|
|
605
|
+
|
|
596
606
|
},
|
|
597
607
|
additionalParams: {
|
|
598
608
|
type: "object"
|
|
@@ -619,21 +629,8 @@ async function generateValidatorSchemaForUpdate(_izContext, objType, settings =
|
|
|
619
629
|
}
|
|
620
630
|
}
|
|
621
631
|
|
|
622
|
-
|
|
623
|
-
console.debug("initialValidatorSchemaForUpdate:::3::", initialValidatorSchemaForUpdate);
|
|
624
|
-
Object.assign(
|
|
625
|
-
initialValidatorSchemaForUpdate.properties.objInstanceFull.properties.fields,
|
|
626
|
-
await filteredFieldNamesOfValidatorSchema(
|
|
627
|
-
_izContext,
|
|
628
|
-
objType,
|
|
629
|
-
[],
|
|
630
|
-
defaultFieldNames,
|
|
631
|
-
settings.bucketName
|
|
632
|
-
)
|
|
633
|
-
);
|
|
634
|
-
|
|
635
632
|
console.debug("versionedDataReturnInFieldsObjInstanceFull::::", versionedDataReturnInFieldsObjInstanceFull);
|
|
636
|
-
console.debug("initialValidatorSchemaForUpdate
|
|
633
|
+
console.debug("initialValidatorSchemaForUpdate:::::", initialValidatorSchemaForUpdate);
|
|
637
634
|
Object.assign(
|
|
638
635
|
initialValidatorSchemaForUpdate.properties.objInstanceFull.properties.fields.properties,
|
|
639
636
|
{
|
|
@@ -649,6 +646,7 @@ async function generateValidatorSchemaForUpdate(_izContext, objType, settings =
|
|
|
649
646
|
|
|
650
647
|
|
|
651
648
|
|
|
649
|
+
|
|
652
650
|
/**
|
|
653
651
|
* generate validatorSchema by fieldNames that part of objectSchema.identifiers
|
|
654
652
|
*
|
|
@@ -674,12 +672,8 @@ async function generateValidatorSchemaForIdentifier(_izContext, objType, setting
|
|
|
674
672
|
|
|
675
673
|
return {
|
|
676
674
|
type: "object",
|
|
677
|
-
required: ["identifiers"
|
|
675
|
+
required: ["identifiers"],
|
|
678
676
|
properties: {
|
|
679
|
-
objectType: {
|
|
680
|
-
type: "string",
|
|
681
|
-
pattern: "^[a-zA-Z0-9_-]+$"
|
|
682
|
-
},
|
|
683
677
|
identifiers: {
|
|
684
678
|
type: "object",
|
|
685
679
|
required: Object.keys(generatedIdentifiersValidatorSchema),
|
|
@@ -700,6 +694,7 @@ async function generateValidatorSchemaForIdentifier(_izContext, objType, setting
|
|
|
700
694
|
* @param {object} objType
|
|
701
695
|
* @param {string[]} requiredFieldNames
|
|
702
696
|
* @param {string[]} usedFieldNames
|
|
697
|
+
* @param {boolean} required = false
|
|
703
698
|
* @returns
|
|
704
699
|
*/
|
|
705
700
|
async function filteredFieldNamesOfValidatorSchema(_izContext, objType, requiredFieldNames, usedFieldNames) {
|
|
@@ -714,7 +709,7 @@ async function filteredFieldNamesOfValidatorSchema(_izContext, objType, required
|
|
|
714
709
|
usedFieldNames
|
|
715
710
|
});
|
|
716
711
|
|
|
717
|
-
let allValidatorSchema = await generateValidatorSchemaForExplodedDataWithCache(_izContext, objType
|
|
712
|
+
let allValidatorSchema = await generateValidatorSchemaForExplodedDataWithCache(_izContext, objType);
|
|
718
713
|
_izContext.logger.debug("filteredFieldNamesOfValidatorSchema allValidatorSchema : ", allValidatorSchema)
|
|
719
714
|
|
|
720
715
|
allValidatorSchema.required = requiredFieldNames;
|
|
@@ -724,6 +719,8 @@ async function filteredFieldNamesOfValidatorSchema(_izContext, objType, required
|
|
|
724
719
|
properties: {}
|
|
725
720
|
}
|
|
726
721
|
|
|
722
|
+
|
|
723
|
+
|
|
727
724
|
// filtered allValidatorSchema depend on usedFieldNames
|
|
728
725
|
for (let validatorFieldName in allValidatorSchema.properties) {
|
|
729
726
|
if (usedFieldNames.includes(validatorFieldName)) {
|
|
@@ -850,18 +847,19 @@ const generateValidatorFieldNameWithCache = inMemoryCacheLib(
|
|
|
850
847
|
*/
|
|
851
848
|
async function generateValidatorFieldName(_izContext, fieldName, fieldData) {
|
|
852
849
|
|
|
853
|
-
if (fieldData.hasOwnProperty("
|
|
850
|
+
if (fieldData.hasOwnProperty("fromObjType")) {
|
|
854
851
|
// validate reference
|
|
855
|
-
if (!fieldData.hasOwnProperty("
|
|
852
|
+
if (!fieldData.hasOwnProperty("fromObjType")) {
|
|
856
853
|
throw new Error(`Invalid reference fieldName:${fieldName}`);
|
|
857
854
|
}
|
|
858
855
|
|
|
859
856
|
let objectSchemaChild = await getObjSchemaS3WithHierarchy(
|
|
860
857
|
_izContext,
|
|
861
|
-
{
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
}
|
|
858
|
+
// {
|
|
859
|
+
// serviceTag: fieldData.fromServiceNameTag,
|
|
860
|
+
// objectType: fieldData.fromObjectType
|
|
861
|
+
// }
|
|
862
|
+
fieldData.fromObjType
|
|
865
863
|
);
|
|
866
864
|
|
|
867
865
|
let usedIdentifier = null
|
|
@@ -882,12 +880,8 @@ async function generateValidatorFieldName(_izContext, fieldName, fieldData) {
|
|
|
882
880
|
|
|
883
881
|
for (let compositeKey of identifierCompositeKeys) {
|
|
884
882
|
|
|
885
|
-
if (objectSchemaChild.fieldNames[compositeKey].hasOwnProperty("
|
|
886
|
-
|
|
887
|
-
) {
|
|
888
|
-
|
|
889
|
-
if (!objectSchemaChild.fieldNames[compositeKey].hasOwnProperty("fromObjectType")
|
|
890
|
-
|| !objectSchemaChild.fieldNames[compositeKey].hasOwnProperty("fromServiceNameTag")
|
|
883
|
+
if (objectSchemaChild.fieldNames[compositeKey].hasOwnProperty("fromObjType")) {
|
|
884
|
+
if (!objectSchemaChild.fieldNames[compositeKey].hasOwnProperty("fromObjType")
|
|
891
885
|
) {
|
|
892
886
|
throw new Error(`Invalid reference fieldName:${compositeKey}`);
|
|
893
887
|
}
|
|
@@ -49,14 +49,15 @@ async function generateDeliminatorTreePerFieldName(_izContext, fieldName, fieldN
|
|
|
49
49
|
|
|
50
50
|
// ------- create tree first -------
|
|
51
51
|
|
|
52
|
-
if (fieldNameSetting.
|
|
52
|
+
if (fieldNameSetting.fromObjType) {
|
|
53
53
|
|
|
54
54
|
let childObjectSchema = await getObjSchemaS3WithHierarchy(
|
|
55
55
|
_izContext,
|
|
56
|
-
{
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
},
|
|
56
|
+
// {
|
|
57
|
+
// objectType: fieldNameSetting.fromObjectType,
|
|
58
|
+
// serviceTag: fieldNameSetting.fromServiceNameTag
|
|
59
|
+
// },
|
|
60
|
+
fieldNameSetting.fromObjType,
|
|
60
61
|
process.env.iz_serviceSchemaBucketName
|
|
61
62
|
);
|
|
62
63
|
|
|
@@ -89,10 +90,11 @@ async function generateDeliminatorTreePerFieldName(_izContext, fieldName, fieldN
|
|
|
89
90
|
_izContext,
|
|
90
91
|
eachKey, // fieldName
|
|
91
92
|
childObjectSchema.fieldNames[eachKey], // fieldName setting
|
|
92
|
-
{
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
},
|
|
93
|
+
// {
|
|
94
|
+
// objectType: fieldNameSetting.fromObjectType,
|
|
95
|
+
// serviceTag: fieldNameSetting.fromServiceNameTag
|
|
96
|
+
// },
|
|
97
|
+
fieldNameSetting.fromObjType,
|
|
96
98
|
iter
|
|
97
99
|
);
|
|
98
100
|
_izContext.logger.debug("childDeliminator: ", childDeliminator)
|
|
@@ -199,9 +201,9 @@ async function generateDeliminatorTreeIdentifier(_izContext, objectSchema) {
|
|
|
199
201
|
|
|
200
202
|
// collect deliminatorTree of composite key
|
|
201
203
|
await Promise.all(identifier.fieldNames.map(async (compositeKey) => {
|
|
202
|
-
let
|
|
203
|
-
_izContext.logger.debug("
|
|
204
|
-
Object.assign(compositeKeysDeliminatorTree,
|
|
204
|
+
let compositeKeyDeliminatorTree = await generateDeliminatorTreePerFieldName(_izContext, compositeKey, objectSchema.fieldNames[compositeKey]);
|
|
205
|
+
_izContext.logger.debug("compositeKeyDeliminatorTree each fieldname: ", compositeKeyDeliminatorTree);
|
|
206
|
+
Object.assign(compositeKeysDeliminatorTree, compositeKeyDeliminatorTree);
|
|
205
207
|
}));
|
|
206
208
|
|
|
207
209
|
// calculate deliminatorTree of identifier
|