@optimiser/common 1.0.295 → 1.0.297
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 +150 -80
- package/package.json +1 -1
package/dist/lib/utility.js
CHANGED
|
@@ -1865,6 +1865,8 @@ function BuildGridFieldProjection(project, field, group) {
|
|
|
1865
1865
|
// below code was added by Shahzaib on 05/09/2022
|
|
1866
1866
|
case "lookup":
|
|
1867
1867
|
case "multilookup":
|
|
1868
|
+
case "dropdown":
|
|
1869
|
+
case "multiselect":
|
|
1868
1870
|
alias = fldName + constants_1.default.LookupAlias;
|
|
1869
1871
|
project[fldName] = 1;
|
|
1870
1872
|
project[alias] = 1;
|
|
@@ -1908,45 +1910,41 @@ function BuildGridFieldProjection(project, field, group) {
|
|
|
1908
1910
|
// }
|
|
1909
1911
|
// };
|
|
1910
1912
|
// break;
|
|
1911
|
-
case "dropdown":
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
searchConcatArry.push('$' + alias + '.Value');
|
|
1947
|
-
project[fldName + '_SearchValue'] = { $concatArrays: searchConcatArry };
|
|
1948
|
-
}
|
|
1949
|
-
break;
|
|
1913
|
+
// case "dropdown":
|
|
1914
|
+
// alias = fldName + constants.LookupAlias;
|
|
1915
|
+
// project[fldName] = 1;
|
|
1916
|
+
// project[alias] = 1;
|
|
1917
|
+
// if (field.Schema.LookupObject) {
|
|
1918
|
+
// for (let i = 0; i < field.Schema.LookupFields.length; i++) {
|
|
1919
|
+
// //searchConcatArry.push({ "$ifNull": ['$' + alias + '.' + field.Schema.LookupFields[i], ""] });
|
|
1920
|
+
// // added by Mohan, make int to string and concat
|
|
1921
|
+
// searchConcatArry.push({ "$ifNull": [{$toString : '$' + alias + '.' + field.Schema.LookupFields[i]}, ""] });
|
|
1922
|
+
// if (i < field.Schema.LookupFields.length - 1) {
|
|
1923
|
+
// searchConcatArry.push(" ");
|
|
1924
|
+
// }
|
|
1925
|
+
// };
|
|
1926
|
+
// project[fldName + '_SearchValue'] = { $concat: searchConcatArry };
|
|
1927
|
+
// } else {
|
|
1928
|
+
// project[fldName + '_SearchValue'] = '$' + alias + '.Value';
|
|
1929
|
+
// }
|
|
1930
|
+
// break;
|
|
1931
|
+
// case "multiselect":
|
|
1932
|
+
// alias = fldName + constants.LookupAlias;
|
|
1933
|
+
// project[fldName] = 1;
|
|
1934
|
+
// project[alias] = 1;
|
|
1935
|
+
// if (field.Schema.LookupObject) {
|
|
1936
|
+
// for (let i = 0; i < field.Schema.LookupFields.length; i++) {
|
|
1937
|
+
// searchConcatArry.push({ "$ifNull": ['$' + alias + '.' + field.Schema.LookupFields[i], [" "] ] });
|
|
1938
|
+
// if (i < field.Schema.LookupFields.length - 1) {
|
|
1939
|
+
// searchConcatArry.push([" "]);
|
|
1940
|
+
// }
|
|
1941
|
+
// };
|
|
1942
|
+
// project[fldName + '_SearchValue'] = { $concatArrays: searchConcatArry };
|
|
1943
|
+
// } else {
|
|
1944
|
+
// searchConcatArry.push('$' + alias + '.Value');
|
|
1945
|
+
// project[fldName + '_SearchValue'] = { $concatArrays: searchConcatArry };
|
|
1946
|
+
// }
|
|
1947
|
+
// break;
|
|
1950
1948
|
case "file":
|
|
1951
1949
|
case "image":
|
|
1952
1950
|
alias = fldName + constants_1.default.LookupAlias;
|
|
@@ -3445,7 +3443,7 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
|
|
|
3445
3443
|
}
|
|
3446
3444
|
]).toArray(function (err, data) {
|
|
3447
3445
|
return __awaiter(this, void 0, void 0, function () {
|
|
3448
|
-
var modifiedObj, _i, data_1, obj, query, schemaData, fieldSchema, alias, i, query;
|
|
3446
|
+
var modifiedObj, _i, data_1, obj, query, schemaData, fieldSchema, alias, i, query, bulkOps;
|
|
3449
3447
|
var _a, _b, _c, _d, _e, _f;
|
|
3450
3448
|
return __generator(this, function (_g) {
|
|
3451
3449
|
switch (_g.label) {
|
|
@@ -3458,7 +3456,7 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
|
|
|
3458
3456
|
_i = 0, data_1 = data;
|
|
3459
3457
|
_g.label = 1;
|
|
3460
3458
|
case 1:
|
|
3461
|
-
if (!(_i < data_1.length)) return [3 /*break*/,
|
|
3459
|
+
if (!(_i < data_1.length)) return [3 /*break*/, 7];
|
|
3462
3460
|
obj = data_1[_i];
|
|
3463
3461
|
query = {
|
|
3464
3462
|
ObjectName: obj.Name
|
|
@@ -3470,60 +3468,66 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
|
|
|
3470
3468
|
return [4 /*yield*/, BuildLookupDataField(fieldSchema, modifiedObj, db)];
|
|
3471
3469
|
case 3:
|
|
3472
3470
|
_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
|
-
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);
|
|
3492
|
-
}
|
|
3493
|
-
query.set = __assign(__assign({}, query.set), modifiedObj);
|
|
3471
|
+
if (!(obj.Fields.ListSchemaName == syncFields.ListSchemaName || (obj.Fields.IsMultipleListSchemaName && obj.Fields.ListSchemaName.includes(syncFields.ListSchemaName)))) return [3 /*break*/, 5];
|
|
3472
|
+
alias = obj.Fields.Name + constants_1.default.LookupAlias;
|
|
3473
|
+
query.match = (_a = {},
|
|
3474
|
+
_a[obj.Fields.Name] = syncFields.ListKey,
|
|
3475
|
+
_a);
|
|
3476
|
+
if (obj.Fields.UIDataType == 'multiselect') {
|
|
3477
|
+
if (syncFields.IsDeleteValue)
|
|
3478
|
+
query.set = (_b = {}, _b[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].IsActive'] = false, _b);
|
|
3479
|
+
else
|
|
3480
|
+
query.set = (_c = {}, _c[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].Value'] = syncFields.Value, _c);
|
|
3481
|
+
query.arrayFilters = (_d = {},
|
|
3482
|
+
_d['e.Key'] = syncFields.ListKey,
|
|
3483
|
+
_d);
|
|
3494
3484
|
}
|
|
3485
|
+
else {
|
|
3486
|
+
if (syncFields.IsDeleteValue)
|
|
3487
|
+
query.set = (_e = {}, _e[alias + '.IsActive'] = false, _e);
|
|
3488
|
+
else
|
|
3489
|
+
query.set = (_f = {}, _f[alias + '.Value'] = syncFields.Value, _f);
|
|
3490
|
+
}
|
|
3491
|
+
query.set = __assign(__assign({}, query.set), modifiedObj);
|
|
3492
|
+
if (!!syncFields.IsDeleteValue) return [3 /*break*/, 5];
|
|
3493
|
+
return [4 /*yield*/, BuildSearchValueQuery(syncFields, obj, query, db)];
|
|
3494
|
+
case 4:
|
|
3495
|
+
_g.sent();
|
|
3496
|
+
_g.label = 5;
|
|
3497
|
+
case 5:
|
|
3495
3498
|
if (query.set && query.match) {
|
|
3496
3499
|
querys.push(query);
|
|
3497
3500
|
}
|
|
3498
|
-
_g.label =
|
|
3499
|
-
case
|
|
3501
|
+
_g.label = 6;
|
|
3502
|
+
case 6:
|
|
3500
3503
|
_i++;
|
|
3501
3504
|
return [3 /*break*/, 1];
|
|
3502
|
-
case
|
|
3505
|
+
case 7:
|
|
3503
3506
|
if (!(querys.length > 0)) return [3 /*break*/, 11];
|
|
3504
3507
|
i = 0;
|
|
3505
|
-
_g.label =
|
|
3506
|
-
case
|
|
3508
|
+
_g.label = 8;
|
|
3509
|
+
case 8:
|
|
3507
3510
|
if (!(i < querys.length)) return [3 /*break*/, 11];
|
|
3508
3511
|
query = querys[i];
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
},
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
}
|
|
3512
|
+
bulkOps = [];
|
|
3513
|
+
if (query.arrayFilters !== undefined) {
|
|
3514
|
+
// await db.collection(query.ObjectName).updateMany(query.match, { $set: query.set }, { arrayFilters: [query.arrayFilters] });
|
|
3515
|
+
bulkOps.push({ updateMany: { filter: query.match, update: { $set: query.set }, arrayFilters: [query.arrayFilters] } });
|
|
3516
|
+
}
|
|
3517
|
+
else {
|
|
3518
|
+
// await db.collection(query.ObjectName).updateMany(query.match, { $set: query.set });
|
|
3519
|
+
bulkOps.push({ updateMany: { filter: query.match, update: { $set: query.set } } });
|
|
3520
|
+
}
|
|
3521
|
+
if (query.setSearchValue && query.setSearchValue.length > 0) {
|
|
3522
|
+
bulkOps.push.apply(bulkOps, query.setSearchValue);
|
|
3523
|
+
}
|
|
3524
|
+
return [4 /*yield*/, db.collection(query.ObjectName).bulkWrite(bulkOps)];
|
|
3521
3525
|
case 9:
|
|
3522
3526
|
_g.sent();
|
|
3523
3527
|
_g.label = 10;
|
|
3524
3528
|
case 10:
|
|
3525
3529
|
i++;
|
|
3526
|
-
return [3 /*break*/,
|
|
3530
|
+
return [3 /*break*/, 8];
|
|
3527
3531
|
case 11:
|
|
3528
3532
|
resolve();
|
|
3529
3533
|
return [2 /*return*/];
|
|
@@ -3536,6 +3540,64 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
|
|
|
3536
3540
|
}); });
|
|
3537
3541
|
}
|
|
3538
3542
|
exports.SyncListSchemaFieldInOtherCollection = SyncListSchemaFieldInOtherCollection;
|
|
3543
|
+
//** Build _SearchValue to update in other collections, added by Shahzaib on 18-09-2022 */
|
|
3544
|
+
function BuildSearchValueQuery(syncObject, fieldObj, query, db) {
|
|
3545
|
+
var _a, _b;
|
|
3546
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3547
|
+
var field, alias, project, syncObjectsData, i, lookupRecord, setQuery, result, j, lookupRecordData, ex_2;
|
|
3548
|
+
var _c;
|
|
3549
|
+
return __generator(this, function (_d) {
|
|
3550
|
+
switch (_d.label) {
|
|
3551
|
+
case 0:
|
|
3552
|
+
_d.trys.push([0, 2, , 3]);
|
|
3553
|
+
field = fieldObj.Fields;
|
|
3554
|
+
alias = field.Name + '_LookupData';
|
|
3555
|
+
project = (_c = {}, _c[field.Name] = 1, _c[alias] = 1, _c);
|
|
3556
|
+
query.setSearchValue = [];
|
|
3557
|
+
return [4 /*yield*/, db.collection(query.ObjectName).find(query.match, { projection: project }).toArray()];
|
|
3558
|
+
case 1:
|
|
3559
|
+
syncObjectsData = _d.sent();
|
|
3560
|
+
if (syncObjectsData && syncObjectsData.length > 0) {
|
|
3561
|
+
for (i = 0; i < syncObjectsData.length; i++) {
|
|
3562
|
+
lookupRecord = syncObjectsData[i][alias];
|
|
3563
|
+
setQuery = {};
|
|
3564
|
+
switch (field.UIDataType) {
|
|
3565
|
+
case "dropdown":
|
|
3566
|
+
setQuery[field.Name + '_SearchValue'] = (_a = syncObject.Value) === null || _a === void 0 ? void 0 : _a.trim();
|
|
3567
|
+
query.setSearchValue.push({ updateOne: { filter: { '_id': syncObjectsData[i]._id }, update: { $set: setQuery } } });
|
|
3568
|
+
break;
|
|
3569
|
+
case "multiselect":
|
|
3570
|
+
{
|
|
3571
|
+
result = '';
|
|
3572
|
+
for (j = 0; j < lookupRecord.length; j++) {
|
|
3573
|
+
lookupRecordData = lookupRecord[j];
|
|
3574
|
+
if (lookupRecordData.Key == syncObject.ListKey) {
|
|
3575
|
+
if (syncObject.Value != undefined)
|
|
3576
|
+
result += syncObject.Value.toString() + ' ';
|
|
3577
|
+
}
|
|
3578
|
+
else {
|
|
3579
|
+
result += ((_b = lookupRecordData.Value) === null || _b === void 0 ? void 0 : _b.toString()) + ' ';
|
|
3580
|
+
}
|
|
3581
|
+
}
|
|
3582
|
+
setQuery[field.Name + '_SearchValue'] = result.trim();
|
|
3583
|
+
query.setSearchValue.push({ updateOne: { filter: { '_id': syncObjectsData[i]._id }, update: { $set: setQuery } } });
|
|
3584
|
+
}
|
|
3585
|
+
break;
|
|
3586
|
+
default:
|
|
3587
|
+
break;
|
|
3588
|
+
}
|
|
3589
|
+
}
|
|
3590
|
+
}
|
|
3591
|
+
return [3 /*break*/, 3];
|
|
3592
|
+
case 2:
|
|
3593
|
+
ex_2 = _d.sent();
|
|
3594
|
+
console.log(ex_2);
|
|
3595
|
+
return [3 /*break*/, 3];
|
|
3596
|
+
case 3: return [2 /*return*/];
|
|
3597
|
+
}
|
|
3598
|
+
});
|
|
3599
|
+
});
|
|
3600
|
+
}
|
|
3539
3601
|
function UpdateTagCountAfterDelete(objectids, objectName, db, params) {
|
|
3540
3602
|
return __awaiter(this, void 0, void 0, function () {
|
|
3541
3603
|
var mongodbQueryOpts;
|
|
@@ -4688,6 +4750,10 @@ function ValidateUserInput(options) {
|
|
|
4688
4750
|
case 21:
|
|
4689
4751
|
if (!(field.LookupObject !== undefined)) return [3 /*break*/, 23];
|
|
4690
4752
|
searchObj = { _id: fieldData };
|
|
4753
|
+
if (field.LookupKey) {
|
|
4754
|
+
searchObj = {};
|
|
4755
|
+
searchObj[field.LookupKey] = fieldData;
|
|
4756
|
+
}
|
|
4691
4757
|
if (action == 'add') {
|
|
4692
4758
|
searchObj.IsActive = true;
|
|
4693
4759
|
}
|
|
@@ -4723,6 +4789,10 @@ function ValidateUserInput(options) {
|
|
|
4723
4789
|
case 27:
|
|
4724
4790
|
if (!(field.LookupObject !== undefined)) return [3 /*break*/, 29];
|
|
4725
4791
|
searchObj = { _id: { $in: fieldData } };
|
|
4792
|
+
if (field.LookupKey) {
|
|
4793
|
+
searchObj = {};
|
|
4794
|
+
searchObj[field.LookupKey] = fieldData;
|
|
4795
|
+
}
|
|
4726
4796
|
if (action == 'add') {
|
|
4727
4797
|
searchObj.IsActive = true;
|
|
4728
4798
|
}
|