@optimiser/common 1.0.295 → 1.0.296
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/dist/lib/utility.js +113 -41
- package/package.json +1 -1
package/dist/lib/utility.js
CHANGED
|
@@ -3445,7 +3445,7 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
|
|
|
3445
3445
|
}
|
|
3446
3446
|
]).toArray(function (err, data) {
|
|
3447
3447
|
return __awaiter(this, void 0, void 0, function () {
|
|
3448
|
-
var modifiedObj, _i, data_1, obj, query, schemaData, fieldSchema, alias, i, query;
|
|
3448
|
+
var modifiedObj, _i, data_1, obj, query, schemaData, fieldSchema, alias, i, query, bulkOps;
|
|
3449
3449
|
var _a, _b, _c, _d, _e, _f;
|
|
3450
3450
|
return __generator(this, function (_g) {
|
|
3451
3451
|
switch (_g.label) {
|
|
@@ -3458,7 +3458,7 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
|
|
|
3458
3458
|
_i = 0, data_1 = data;
|
|
3459
3459
|
_g.label = 1;
|
|
3460
3460
|
case 1:
|
|
3461
|
-
if (!(_i < data_1.length)) return [3 /*break*/,
|
|
3461
|
+
if (!(_i < data_1.length)) return [3 /*break*/, 7];
|
|
3462
3462
|
obj = data_1[_i];
|
|
3463
3463
|
query = {
|
|
3464
3464
|
ObjectName: obj.Name
|
|
@@ -3470,60 +3470,66 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
|
|
|
3470
3470
|
return [4 /*yield*/, BuildLookupDataField(fieldSchema, modifiedObj, db)];
|
|
3471
3471
|
case 3:
|
|
3472
3472
|
_g.sent();
|
|
3473
|
-
if (obj.Fields.ListSchemaName == syncFields.ListSchemaName || (obj.Fields.IsMultipleListSchemaName && obj.Fields.ListSchemaName.includes(syncFields.ListSchemaName)))
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
}
|
|
3493
|
-
query.set = __assign(__assign({}, query.set), modifiedObj);
|
|
3473
|
+
if (!(obj.Fields.ListSchemaName == syncFields.ListSchemaName || (obj.Fields.IsMultipleListSchemaName && obj.Fields.ListSchemaName.includes(syncFields.ListSchemaName)))) return [3 /*break*/, 5];
|
|
3474
|
+
alias = obj.Fields.Name + constants_1.default.LookupAlias;
|
|
3475
|
+
query.match = (_a = {},
|
|
3476
|
+
_a[obj.Fields.Name] = syncFields.ListKey,
|
|
3477
|
+
_a);
|
|
3478
|
+
if (obj.Fields.UIDataType == 'multiselect') {
|
|
3479
|
+
if (syncFields.IsDeleteValue)
|
|
3480
|
+
query.set = (_b = {}, _b[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].IsActive'] = false, _b);
|
|
3481
|
+
else
|
|
3482
|
+
query.set = (_c = {}, _c[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].Value'] = syncFields.Value, _c);
|
|
3483
|
+
query.arrayFilters = (_d = {},
|
|
3484
|
+
_d['e.Key'] = syncFields.ListKey,
|
|
3485
|
+
_d);
|
|
3486
|
+
}
|
|
3487
|
+
else {
|
|
3488
|
+
if (syncFields.IsDeleteValue)
|
|
3489
|
+
query.set = (_e = {}, _e[alias + '.IsActive'] = false, _e);
|
|
3490
|
+
else
|
|
3491
|
+
query.set = (_f = {}, _f[alias + '.Value'] = syncFields.Value, _f);
|
|
3494
3492
|
}
|
|
3493
|
+
query.set = __assign(__assign({}, query.set), modifiedObj);
|
|
3494
|
+
if (!!syncFields.IsDeleteValue) return [3 /*break*/, 5];
|
|
3495
|
+
return [4 /*yield*/, BuildSearchValueQuery(syncFields, obj, query, db)];
|
|
3496
|
+
case 4:
|
|
3497
|
+
_g.sent();
|
|
3498
|
+
_g.label = 5;
|
|
3499
|
+
case 5:
|
|
3495
3500
|
if (query.set && query.match) {
|
|
3496
3501
|
querys.push(query);
|
|
3497
3502
|
}
|
|
3498
|
-
_g.label =
|
|
3499
|
-
case
|
|
3503
|
+
_g.label = 6;
|
|
3504
|
+
case 6:
|
|
3500
3505
|
_i++;
|
|
3501
3506
|
return [3 /*break*/, 1];
|
|
3502
|
-
case
|
|
3507
|
+
case 7:
|
|
3503
3508
|
if (!(querys.length > 0)) return [3 /*break*/, 11];
|
|
3504
3509
|
i = 0;
|
|
3505
|
-
_g.label =
|
|
3506
|
-
case
|
|
3510
|
+
_g.label = 8;
|
|
3511
|
+
case 8:
|
|
3507
3512
|
if (!(i < querys.length)) return [3 /*break*/, 11];
|
|
3508
3513
|
query = querys[i];
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
},
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
}
|
|
3514
|
+
bulkOps = [];
|
|
3515
|
+
if (query.arrayFilters !== undefined) {
|
|
3516
|
+
// await db.collection(query.ObjectName).updateMany(query.match, { $set: query.set }, { arrayFilters: [query.arrayFilters] });
|
|
3517
|
+
bulkOps.push({ updateMany: { filter: query.match, update: { $set: query.set }, arrayFilters: [query.arrayFilters] } });
|
|
3518
|
+
}
|
|
3519
|
+
else {
|
|
3520
|
+
// await db.collection(query.ObjectName).updateMany(query.match, { $set: query.set });
|
|
3521
|
+
bulkOps.push({ updateMany: { filter: query.match, update: { $set: query.set } } });
|
|
3522
|
+
}
|
|
3523
|
+
if (query.setSearchValue && query.setSearchValue.length > 0) {
|
|
3524
|
+
bulkOps.push.apply(bulkOps, query.setSearchValue);
|
|
3525
|
+
}
|
|
3526
|
+
return [4 /*yield*/, db.collection(query.ObjectName).bulkWrite(bulkOps)];
|
|
3521
3527
|
case 9:
|
|
3522
3528
|
_g.sent();
|
|
3523
3529
|
_g.label = 10;
|
|
3524
3530
|
case 10:
|
|
3525
3531
|
i++;
|
|
3526
|
-
return [3 /*break*/,
|
|
3532
|
+
return [3 /*break*/, 8];
|
|
3527
3533
|
case 11:
|
|
3528
3534
|
resolve();
|
|
3529
3535
|
return [2 /*return*/];
|
|
@@ -3536,6 +3542,64 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
|
|
|
3536
3542
|
}); });
|
|
3537
3543
|
}
|
|
3538
3544
|
exports.SyncListSchemaFieldInOtherCollection = SyncListSchemaFieldInOtherCollection;
|
|
3545
|
+
//** Build _SearchValue to update in other collections, added by Shahzaib on 18-09-2022 */
|
|
3546
|
+
function BuildSearchValueQuery(syncObject, fieldObj, query, db) {
|
|
3547
|
+
var _a, _b;
|
|
3548
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3549
|
+
var field, alias, project, syncObjectsData, i, lookupRecord, setQuery, result, j, lookupRecordData, ex_2;
|
|
3550
|
+
var _c;
|
|
3551
|
+
return __generator(this, function (_d) {
|
|
3552
|
+
switch (_d.label) {
|
|
3553
|
+
case 0:
|
|
3554
|
+
_d.trys.push([0, 2, , 3]);
|
|
3555
|
+
field = fieldObj.Fields;
|
|
3556
|
+
alias = field.Name + '_LookupData';
|
|
3557
|
+
project = (_c = {}, _c[field.Name] = 1, _c[alias] = 1, _c);
|
|
3558
|
+
query.setSearchValue = [];
|
|
3559
|
+
return [4 /*yield*/, db.collection(query.ObjectName).find(query.match, { projection: project }).toArray()];
|
|
3560
|
+
case 1:
|
|
3561
|
+
syncObjectsData = _d.sent();
|
|
3562
|
+
if (syncObjectsData && syncObjectsData.length > 0) {
|
|
3563
|
+
for (i = 0; i < syncObjectsData.length; i++) {
|
|
3564
|
+
lookupRecord = syncObjectsData[i][alias];
|
|
3565
|
+
setQuery = {};
|
|
3566
|
+
switch (field.UIDataType) {
|
|
3567
|
+
case "dropdown":
|
|
3568
|
+
setQuery[field.Name + '_SearchValue'] = (_a = syncObject.Value) === null || _a === void 0 ? void 0 : _a.trim();
|
|
3569
|
+
query.setSearchValue.push({ updateOne: { filter: { '_id': syncObjectsData[i]._id }, update: { $set: setQuery } } });
|
|
3570
|
+
break;
|
|
3571
|
+
case "multiselect":
|
|
3572
|
+
{
|
|
3573
|
+
result = '';
|
|
3574
|
+
for (j = 0; j < lookupRecord.length; j++) {
|
|
3575
|
+
lookupRecordData = lookupRecord[j];
|
|
3576
|
+
if (lookupRecordData.Key == syncObject.ListKey) {
|
|
3577
|
+
if (syncObject.Value != undefined)
|
|
3578
|
+
result += syncObject.Value.toString() + ' ';
|
|
3579
|
+
}
|
|
3580
|
+
else {
|
|
3581
|
+
result += ((_b = lookupRecordData.Value) === null || _b === void 0 ? void 0 : _b.toString()) + ' ';
|
|
3582
|
+
}
|
|
3583
|
+
}
|
|
3584
|
+
setQuery[field.Name + '_SearchValue'] = result.trim();
|
|
3585
|
+
query.setSearchValue.push({ updateOne: { filter: { '_id': syncObjectsData[i]._id }, update: { $set: setQuery } } });
|
|
3586
|
+
}
|
|
3587
|
+
break;
|
|
3588
|
+
default:
|
|
3589
|
+
break;
|
|
3590
|
+
}
|
|
3591
|
+
}
|
|
3592
|
+
}
|
|
3593
|
+
return [3 /*break*/, 3];
|
|
3594
|
+
case 2:
|
|
3595
|
+
ex_2 = _d.sent();
|
|
3596
|
+
console.log(ex_2);
|
|
3597
|
+
return [3 /*break*/, 3];
|
|
3598
|
+
case 3: return [2 /*return*/];
|
|
3599
|
+
}
|
|
3600
|
+
});
|
|
3601
|
+
});
|
|
3602
|
+
}
|
|
3539
3603
|
function UpdateTagCountAfterDelete(objectids, objectName, db, params) {
|
|
3540
3604
|
return __awaiter(this, void 0, void 0, function () {
|
|
3541
3605
|
var mongodbQueryOpts;
|
|
@@ -4688,6 +4752,10 @@ function ValidateUserInput(options) {
|
|
|
4688
4752
|
case 21:
|
|
4689
4753
|
if (!(field.LookupObject !== undefined)) return [3 /*break*/, 23];
|
|
4690
4754
|
searchObj = { _id: fieldData };
|
|
4755
|
+
if (field.LookupKey) {
|
|
4756
|
+
searchObj = {};
|
|
4757
|
+
searchObj[field.LookupKey] = fieldData;
|
|
4758
|
+
}
|
|
4691
4759
|
if (action == 'add') {
|
|
4692
4760
|
searchObj.IsActive = true;
|
|
4693
4761
|
}
|
|
@@ -4723,6 +4791,10 @@ function ValidateUserInput(options) {
|
|
|
4723
4791
|
case 27:
|
|
4724
4792
|
if (!(field.LookupObject !== undefined)) return [3 /*break*/, 29];
|
|
4725
4793
|
searchObj = { _id: { $in: fieldData } };
|
|
4794
|
+
if (field.LookupKey) {
|
|
4795
|
+
searchObj = {};
|
|
4796
|
+
searchObj[field.LookupKey] = fieldData;
|
|
4797
|
+
}
|
|
4726
4798
|
if (action == 'add') {
|
|
4727
4799
|
searchObj.IsActive = true;
|
|
4728
4800
|
}
|