@optimiser/common 1.0.298 → 1.0.300

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.
@@ -405,7 +405,7 @@ var GetDateRangeFromOperatorValue = function (operator, fiscalMonth, fiscalFrom)
405
405
  var momentObj = moment_1.default();
406
406
  var getFiscalMonthIndex = moment_1.default.monthsShort().findIndex(function (month) { return month === fiscalMonth; });
407
407
  // GET FISCAL MONTH INDEX
408
- if (operator.includes("Fiscal")) {
408
+ if (operator.includes("Fiscal") || ["Year to Date", "year-to-date"].includes(operator)) {
409
409
  if (fiscalFrom === "End") {
410
410
  fiscalMonth = momentObj.clone().month(fiscalMonth).add(1, "months").format('MMM'); // Modify FiscalMonth in FiscalFrom - End
411
411
  }
@@ -657,11 +657,27 @@ var GetDateRangeFromOperatorValue = function (operator, fiscalMonth, fiscalFrom)
657
657
  case "Year to Date":
658
658
  case "year-to-date":
659
659
  endDate = momentObj.clone().format(requiredDateFormat);
660
- if (parseInt(momentObj.format('M')) > 3) {
661
- startDate = momentObj.clone().startOf('month').month("Apr").format(requiredDateFormat);
660
+ // Commented Below Hanisha's Code - Implemented following as per QPC-6370
661
+ // if (parseInt(momentObj.format('M')) > 3) {
662
+ // startDate = momentObj.clone().startOf('month').month("Apr").format(requiredDateFormat);
663
+ // } else {
664
+ // startDate = momentObj.clone().subtract(1, "years").startOf('month').month("Apr").format(requiredDateFormat);
665
+ // }
666
+ if (fiscalFrom === "Start") {
667
+ if (getFiscalMonthIndex == 0 || getFiscalMonthIndex && getFiscalMonthIndex <= momentObj.clone().month()) {
668
+ startDate = moment_1.default(startDate, currentDateFormat).clone().month(fiscalMonth).startOf('month').format(requiredDateFormat);
669
+ }
670
+ else {
671
+ startDate = moment_1.default(startDate, currentDateFormat).clone().month(fiscalMonth).subtract(12, "months").startOf('month').format(requiredDateFormat);
672
+ }
662
673
  }
663
674
  else {
664
- startDate = momentObj.clone().subtract(1, "years").startOf('month').month("Apr").format(requiredDateFormat);
675
+ if (getFiscalMonthIndex == 0 || getFiscalMonthIndex && getFiscalMonthIndex < momentObj.clone().month() || getFiscalMonthIndex == 11) {
676
+ startDate = moment_1.default(startDate, currentDateFormat).clone().month(fiscalMonth).startOf('month').format(requiredDateFormat);
677
+ }
678
+ else {
679
+ startDate = moment_1.default(startDate, currentDateFormat).clone().month(fiscalMonth).subtract(12, "months").startOf('month').format(requiredDateFormat);
680
+ }
665
681
  }
666
682
  break;
667
683
  default:
@@ -1021,7 +1021,7 @@ function SyncFieldInSameCollection(objectName, objectIDs, db) {
1021
1021
  }
1022
1022
  db.collection(objectName).find(findObj).forEach(function (objectData) {
1023
1023
  return __awaiter(this, void 0, void 0, function () {
1024
- var updateObj, i, fieldSchema, lookupData, searchValue, ex_1;
1024
+ var updateObj, i, fieldSchema, lookupData, ex_1;
1025
1025
  return __generator(this, function (_a) {
1026
1026
  switch (_a.label) {
1027
1027
  case 0:
@@ -1042,10 +1042,6 @@ function SyncFieldInSameCollection(objectName, objectIDs, db) {
1042
1042
  if (lookupData !== undefined) {
1043
1043
  updateObj[fieldSchema.Name + constants_1.default.LookupAlias] = lookupData;
1044
1044
  }
1045
- searchValue = objectData[fieldSchema.Name + constants_1.default.SearchValueAlias];
1046
- if (searchValue !== undefined) {
1047
- updateObj[fieldSchema.Name + constants_1.default.SearchValueAlias] = searchValue;
1048
- }
1049
1045
  _a.label = 4;
1050
1046
  case 4:
1051
1047
  i++;
@@ -1101,7 +1097,7 @@ function SyncFieldInSameCollectionByObjectID(objectName, objectID, db) {
1101
1097
  if (fieldArr_2) {
1102
1098
  db.collection(objectName).findOne({ '_id': objectID }, function (err, objectData) {
1103
1099
  return __awaiter(this, void 0, void 0, function () {
1104
- var updateObj, i, fieldSchema, lookupData, searchValue;
1100
+ var updateObj, i, fieldSchema, lookupData;
1105
1101
  return __generator(this, function (_a) {
1106
1102
  switch (_a.label) {
1107
1103
  case 0:
@@ -1119,10 +1115,6 @@ function SyncFieldInSameCollectionByObjectID(objectName, objectID, db) {
1119
1115
  if (lookupData !== undefined) {
1120
1116
  updateObj[fieldSchema.Name + constants_1.default.LookupAlias] = lookupData;
1121
1117
  }
1122
- searchValue = objectData[fieldSchema.Name + constants_1.default.SearchValueAlias];
1123
- if (searchValue !== undefined) {
1124
- updateObj[fieldSchema.Name + constants_1.default.SearchValueAlias] = searchValue;
1125
- }
1126
1118
  _a.label = 3;
1127
1119
  case 3:
1128
1120
  i++;
@@ -1151,7 +1143,7 @@ function SyncFieldInSameCollectionByObjectIDWithPromise(objectName, objectID, db
1151
1143
  if (fieldArr_3) {
1152
1144
  db.collection(objectName).findOne({ '_id': objectID }, function (err, objectData) {
1153
1145
  return __awaiter(this, void 0, void 0, function () {
1154
- var updateObj, i, fieldSchema, lookupData, searchValue;
1146
+ var updateObj, i, fieldSchema, lookupData;
1155
1147
  return __generator(this, function (_a) {
1156
1148
  switch (_a.label) {
1157
1149
  case 0:
@@ -1169,10 +1161,6 @@ function SyncFieldInSameCollectionByObjectIDWithPromise(objectName, objectID, db
1169
1161
  if (lookupData !== undefined) {
1170
1162
  updateObj[fieldSchema.Name + constants_1.default.LookupAlias] = lookupData;
1171
1163
  }
1172
- searchValue = objectData[fieldSchema.Name + constants_1.default.SearchValueAlias];
1173
- if (searchValue !== undefined) {
1174
- updateObj[fieldSchema.Name + constants_1.default.SearchValueAlias] = searchValue;
1175
- }
1176
1164
  _a.label = 3;
1177
1165
  case 3:
1178
1166
  i++;
@@ -1474,7 +1462,7 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1474
1462
  var fldName = fieldSchema.Name;
1475
1463
  var fldValue_1 = updateObj[fldName];
1476
1464
  var alias_1 = fldName + constants_1.default.LookupAlias;
1477
- var searchAlias_1 = fldName + constants_1.default.SearchValueAlias;
1465
+ var searchAlias = fldName + constants_1.default.SearchValueAlias;
1478
1466
  var fldLookupData_1 = null;
1479
1467
  if (fldValue_1) {
1480
1468
  var aggregateArry = [];
@@ -1517,20 +1505,17 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1517
1505
  fldLookupData_1 = data[0];
1518
1506
  updateObj[alias_1] = fldLookupData_1;
1519
1507
  //** Below code is added by Shahzaib on 05/09/2022 to create SearchValue */
1520
- var result = '';
1521
- if (fieldSchema.LookupFields != undefined) {
1522
- var _loop_10 = function (j) {
1523
- if (fieldSchema.ExcludeLookupFieldsOnSearch && fieldSchema.ExcludeLookupFieldsOnSearch.filter(function (x) { return x == fieldSchema.LookupFields[j]; }).length != 0) {
1524
- return "continue";
1525
- }
1526
- if (fldLookupData_1[fieldSchema.LookupFields[j]] != undefined)
1527
- result += fldLookupData_1[fieldSchema.LookupFields[j]].toString() + ' ';
1528
- };
1529
- for (var j = 0; j < fieldSchema.LookupFields.length; j++) {
1530
- _loop_10(j);
1531
- }
1532
- }
1533
- updateObj[searchAlias_1] = result === null || result === void 0 ? void 0 : result.trim();
1508
+ // let result = '';
1509
+ // if (fieldSchema.LookupFields != undefined) {
1510
+ // for (let j = 0; j < fieldSchema.LookupFields.length; j++) {
1511
+ // if (fieldSchema.ExcludeLookupFieldsOnSearch && fieldSchema.ExcludeLookupFieldsOnSearch.filter((x: AnyObjectInterface) => x == fieldSchema.LookupFields[j]).length != 0) {
1512
+ // continue;
1513
+ // }
1514
+ // if (fldLookupData[fieldSchema.LookupFields[j]] != undefined)
1515
+ // result += fldLookupData[fieldSchema.LookupFields[j]].toString() + ' ';
1516
+ // }
1517
+ // }
1518
+ // updateObj[searchAlias] = result?.trim();
1534
1519
  //** Ends here */
1535
1520
  }
1536
1521
  resolve();
@@ -1562,17 +1547,17 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1562
1547
  fldLookupData_1 = data;
1563
1548
  updateObj[alias_1] = fldLookupData_1;
1564
1549
  //** Below code is added by Shahzaib on 05/09/2022 to create SearchValue */
1565
- var result = '';
1566
- for (var i = 0; i < data.length; i++) {
1567
- var lookupRecord = data[i];
1568
- if (fieldSchema.LookupFields != undefined) {
1569
- for (var j = 0; j < fieldSchema.LookupFields.length; j++) {
1570
- if (lookupRecord[fieldSchema.LookupFields[j]] != undefined)
1571
- result += lookupRecord[fieldSchema.LookupFields[j]].toString() + ' ';
1572
- }
1573
- }
1574
- }
1575
- updateObj[searchAlias_1] = result === null || result === void 0 ? void 0 : result.trim();
1550
+ // let result = '';
1551
+ // for (let i = 0; i < data.length; i++) {
1552
+ // let lookupRecord = data[i];
1553
+ // if (fieldSchema.LookupFields != undefined) {
1554
+ // for (let j = 0; j < fieldSchema.LookupFields.length; j++) {
1555
+ // if (lookupRecord[fieldSchema.LookupFields[j]] != undefined)
1556
+ // result += lookupRecord[fieldSchema.LookupFields[j]].toString() + ' ';
1557
+ // }
1558
+ // }
1559
+ // }
1560
+ // updateObj[searchAlias] = result?.trim();
1576
1561
  //** Ends here */
1577
1562
  }
1578
1563
  resolve();
@@ -1590,14 +1575,14 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1590
1575
  fldLookupData_1 = data[0];
1591
1576
  updateObj[alias_1] = fldLookupData_1;
1592
1577
  //** Below code is added by Shahzaib on 05/09/2022 to create SearchValue */
1593
- var result = '';
1594
- if (fieldSchema.LookupFields != undefined) {
1595
- for (var j = 0; j < fieldSchema.LookupFields.length; j++) {
1596
- if (fldLookupData_1[fieldSchema.LookupFields[j]] != undefined)
1597
- result += fldLookupData_1[fieldSchema.LookupFields[j]].toString() + ' ';
1598
- }
1599
- }
1600
- updateObj[searchAlias_1] = result === null || result === void 0 ? void 0 : result.trim();
1578
+ // let result = '';
1579
+ // if (fieldSchema.LookupFields != undefined) {
1580
+ // for (let j = 0; j < fieldSchema.LookupFields.length; j++) {
1581
+ // if (fldLookupData[fieldSchema.LookupFields[j]] != undefined)
1582
+ // result += fldLookupData[fieldSchema.LookupFields[j]].toString() + ' ';
1583
+ // }
1584
+ // }
1585
+ // updateObj[searchAlias] = result?.trim();
1601
1586
  //** Ends here */
1602
1587
  }
1603
1588
  resolve();
@@ -1614,7 +1599,6 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1614
1599
  aggregateArry.push({ $project: { _id: 0, Key: '$Data.Key', Value: '$Data.Value', IsActive: '$Data.IsActive' } });
1615
1600
  aggregateArry.push({ $match: { 'Key': fldValue_1 } });
1616
1601
  db.collection('ListSchema').aggregate(aggregateArry).toArray(function (err, data) {
1617
- var _a;
1618
1602
  if (err) {
1619
1603
  errorHandler(fldValue_1, err);
1620
1604
  }
@@ -1622,7 +1606,7 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1622
1606
  fldLookupData_1 = data[0];
1623
1607
  updateObj[alias_1] = fldLookupData_1;
1624
1608
  //** Below code is added by Shahzaib on 05/09/2022 to create SearchValue */
1625
- updateObj[searchAlias_1] = (_a = fldLookupData_1.Value) === null || _a === void 0 ? void 0 : _a.trim();
1609
+ // updateObj[searchAlias] = fldLookupData.Value?.trim();
1626
1610
  //** Ends here */
1627
1611
  }
1628
1612
  resolve();
@@ -1641,17 +1625,17 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1641
1625
  fldLookupData_1 = data;
1642
1626
  updateObj[alias_1] = fldLookupData_1;
1643
1627
  //** Below code is added by Shahzaib on 05/09/2022 to create SearchValue */
1644
- var result = '';
1645
- for (var i = 0; i < data.length; i++) {
1646
- var lookupRecord = data[i];
1647
- if (fieldSchema.LookupFields != undefined) {
1648
- for (var j = 0; j < fieldSchema.LookupFields.length; j++) {
1649
- if (lookupRecord[fieldSchema.LookupFields[j]] != undefined)
1650
- result += lookupRecord[fieldSchema.LookupFields[j]].toString() + ' ';
1651
- }
1652
- }
1653
- }
1654
- updateObj[searchAlias_1] = result === null || result === void 0 ? void 0 : result.trim();
1628
+ // let result = '';
1629
+ // for (let i = 0; i < data.length; i++) {
1630
+ // let lookupRecord = data[i];
1631
+ // if (fieldSchema.LookupFields != undefined) {
1632
+ // for (let j = 0; j < fieldSchema.LookupFields.length; j++) {
1633
+ // if (lookupRecord[fieldSchema.LookupFields[j]] != undefined)
1634
+ // result += lookupRecord[fieldSchema.LookupFields[j]].toString() + ' ';
1635
+ // }
1636
+ // }
1637
+ // }
1638
+ // updateObj[searchAlias] = result?.trim();
1655
1639
  //** Ends here */
1656
1640
  }
1657
1641
  resolve();
@@ -1663,7 +1647,6 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1663
1647
  aggregateArry.push({ $project: { _id: 0, Key: '$Data.Key', Value: '$Data.Value', IsActive: '$Data.IsActive' } });
1664
1648
  aggregateArry.push({ $match: { 'Key': { $in: fldValue_1 } } });
1665
1649
  db.collection('ListSchema').aggregate(aggregateArry).toArray(function (err, data) {
1666
- var _a;
1667
1650
  if (err) {
1668
1651
  errorHandler(fldValue_1, err);
1669
1652
  }
@@ -1671,12 +1654,12 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1671
1654
  fldLookupData_1 = data;
1672
1655
  updateObj[alias_1] = fldLookupData_1;
1673
1656
  //** Below code is added by Shahzaib on 05/09/2022 to create SearchValue */
1674
- var result = '';
1675
- for (var i = 0; i < data.length; i++) {
1676
- var lookupRecord = data[i];
1677
- result += ((_a = lookupRecord.Value) === null || _a === void 0 ? void 0 : _a.toString()) + ' ';
1678
- }
1679
- updateObj[searchAlias_1] = result === null || result === void 0 ? void 0 : result.trim();
1657
+ // let result = '';
1658
+ // for (let i = 0; i < data.length; i++) {
1659
+ // let lookupRecord = data[i];
1660
+ // result += lookupRecord.Value?.toString() + ' ';
1661
+ // }
1662
+ // updateObj[searchAlias] = result?.trim();
1680
1663
  //** Ends here */
1681
1664
  }
1682
1665
  resolve();
@@ -1712,9 +1695,9 @@ function BuildLookupDataField(fieldSchema, updateObj, db) {
1712
1695
  else {
1713
1696
  updateObj[alias_1] = fldLookupData_1;
1714
1697
  // Below if cond was added by Shahzaib on 05/09/2022
1715
- if (fieldSchema.UIDataType == 'lookup' || fieldSchema.UIDataType == 'multilookup') {
1716
- updateObj[searchAlias_1] = fldLookupData_1;
1717
- }
1698
+ // if (['dropdown', 'lookup', 'multilookup', 'multiselect'].includes(fieldSchema.UIDataType)) {
1699
+ // updateObj[searchAlias] = fldLookupData;
1700
+ // }
1718
1701
  resolve();
1719
1702
  }
1720
1703
  }
@@ -1727,11 +1710,11 @@ exports.BuildLookupDataField = BuildLookupDataField;
1727
1710
  //CheckDataBeforeAdd it sync object before add
1728
1711
  function CheckDataBeforeAdd(updateObj, objectSchema, db) {
1729
1712
  return __awaiter(this, void 0, void 0, function () {
1730
- var _loop_11, _i, _a, fldName;
1713
+ var _loop_10, _i, _a, fldName;
1731
1714
  return __generator(this, function (_b) {
1732
1715
  switch (_b.label) {
1733
1716
  case 0:
1734
- _loop_11 = function (fldName) {
1717
+ _loop_10 = function (fldName) {
1735
1718
  var fieldSchema, sequenceDocument, val, j, item, num;
1736
1719
  return __generator(this, function (_a) {
1737
1720
  switch (_a.label) {
@@ -1777,7 +1760,7 @@ function CheckDataBeforeAdd(updateObj, objectSchema, db) {
1777
1760
  case 1:
1778
1761
  if (!(_i < _a.length)) return [3 /*break*/, 4];
1779
1762
  fldName = _a[_i];
1780
- return [5 /*yield**/, _loop_11(fldName)];
1763
+ return [5 /*yield**/, _loop_10(fldName)];
1781
1764
  case 2:
1782
1765
  _b.sent();
1783
1766
  _b.label = 3;
@@ -1793,11 +1776,11 @@ exports.CheckDataBeforeAdd = CheckDataBeforeAdd;
1793
1776
  //CheckDataBeforeAdd it sync object before update
1794
1777
  function CheckDataBeforeUpdate(updateObj, objectData, objectSchema, db) {
1795
1778
  return __awaiter(this, void 0, void 0, function () {
1796
- var _loop_12, _i, _a, fldName;
1779
+ var _loop_11, _i, _a, fldName;
1797
1780
  return __generator(this, function (_b) {
1798
1781
  switch (_b.label) {
1799
1782
  case 0:
1800
- _loop_12 = function (fldName) {
1783
+ _loop_11 = function (fldName) {
1801
1784
  var fieldSchema, oldValue, newValue, isSame;
1802
1785
  return __generator(this, function (_a) {
1803
1786
  switch (_a.label) {
@@ -1840,7 +1823,7 @@ function CheckDataBeforeUpdate(updateObj, objectData, objectSchema, db) {
1840
1823
  case 1:
1841
1824
  if (!(_i < _a.length)) return [3 /*break*/, 4];
1842
1825
  fldName = _a[_i];
1843
- return [5 /*yield**/, _loop_12(fldName)];
1826
+ return [5 /*yield**/, _loop_11(fldName)];
1844
1827
  case 2:
1845
1828
  _b.sent();
1846
1829
  _b.label = 3;
@@ -1863,88 +1846,97 @@ function BuildGridFieldProjection(project, field, group) {
1863
1846
  var searchConcatArry = [];
1864
1847
  switch (field.Schema.UIDataType) {
1865
1848
  // below code was added by Shahzaib on 05/09/2022
1866
- case "lookup":
1867
- case "multilookup":
1868
- case "dropdown":
1869
- case "multiselect":
1870
- alias = fldName + constants_1.default.LookupAlias;
1871
- project[fldName] = 1;
1872
- project[alias] = 1;
1873
- project[searchAlias] = 1;
1874
- break;
1875
- // Below code was commented by Shahzaib on 05/09/2022, searchAlias was added instead of it.
1876
1849
  // case "lookup":
1877
- // alias = fldName + constants.LookupAlias;
1878
- // project[fldName] = 1;
1879
- // project[alias] = 1;
1880
- // for (let i = 0; i < field.Schema.LookupFields.length; i++) {
1881
- // if (field.Schema.ExcludeLookupFieldsOnSearch && field.Schema.ExcludeLookupFieldsOnSearch.filter((x: AnyObjectInterface) => x == field.Schema.LookupFields[i]).length != 0) {
1882
- // continue;
1883
- // }
1884
- // // searchConcatArry.push({ "$ifNull": ['$' + alias + '.' + field.Schema.LookupFields[i], ""] });
1885
- // // added by Shahzaib, make int to string and concat
1886
- // searchConcatArry.push({ "$ifNull": [{$toString : '$' + alias + '.' + field.Schema.LookupFields[i]}, ""] });
1887
- // if (i < field.Schema.LookupFields.length - 1) {
1888
- // searchConcatArry.push(" ");
1889
- // }
1890
- // };
1891
- // project[fldName + '_SearchValue'] = { $concat: searchConcatArry };
1892
- // break;
1893
1850
  // case "multilookup":
1894
- // alias = fldName + constants.LookupAlias;
1895
- // project[fldName] = 1;
1896
- // project[alias] = 1;
1897
- // for (let i = 0; i < field.Schema.LookupFields.length; i++) {
1898
- // searchConcatArry.push({ "$ifNull": ['$' + alias + '.' + field.Schema.LookupFields[i], [" "]] });
1899
- // if (i < field.Schema.LookupFields.length - 1) {
1900
- // searchConcatArry.push([" "]);
1901
- // }
1902
- // };
1903
- // //project[fldName + '_SearchValue'] = { $concatArrays: searchConcatArry };
1904
- // project[fldName + '_SearchValue'] = {
1905
- // $reduce: {
1906
- // input: { $concatArrays: searchConcatArry },
1907
- // initialValue: "",
1908
- // //in: { $concat: ["$$value", "$$this"] } // Commented by and below line was added by Shahzaib, make int to string
1909
- // in: { $concat: ["$$value", { $toString : "$$this" }] }
1910
- // }
1911
- // };
1912
- // break;
1913
1851
  // 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
1852
  // case "multiselect":
1932
1853
  // alias = fldName + constants.LookupAlias;
1933
1854
  // project[fldName] = 1;
1934
1855
  // 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
- // }
1856
+ // project[searchAlias] = 1;
1947
1857
  // break;
1858
+ // Below code was commented by Shahzaib on 05/09/2022, searchAlias was added instead of it.
1859
+ case "lookup":
1860
+ alias = fldName + constants_1.default.LookupAlias;
1861
+ project[fldName] = 1;
1862
+ project[alias] = 1;
1863
+ var _loop_12 = function (i) {
1864
+ if (field.Schema.ExcludeLookupFieldsOnSearch && field.Schema.ExcludeLookupFieldsOnSearch.filter(function (x) { return x == field.Schema.LookupFields[i]; }).length != 0) {
1865
+ return "continue";
1866
+ }
1867
+ // searchConcatArry.push({ "$ifNull": ['$' + alias + '.' + field.Schema.LookupFields[i], ""] });
1868
+ // added by Shahzaib, make int to string and concat
1869
+ searchConcatArry.push({ "$ifNull": [{ $toString: '$' + alias + '.' + field.Schema.LookupFields[i] }, ""] });
1870
+ if (i < field.Schema.LookupFields.length - 1) {
1871
+ searchConcatArry.push(" ");
1872
+ }
1873
+ };
1874
+ for (var i = 0; i < field.Schema.LookupFields.length; i++) {
1875
+ _loop_12(i);
1876
+ }
1877
+ ;
1878
+ project[fldName + '_SearchValue'] = { $concat: searchConcatArry };
1879
+ break;
1880
+ case "multilookup":
1881
+ alias = fldName + constants_1.default.LookupAlias;
1882
+ project[fldName] = 1;
1883
+ project[alias] = 1;
1884
+ for (var i = 0; i < field.Schema.LookupFields.length; i++) {
1885
+ searchConcatArry.push({ "$ifNull": ['$' + alias + '.' + field.Schema.LookupFields[i], [" "]] });
1886
+ if (i < field.Schema.LookupFields.length - 1) {
1887
+ searchConcatArry.push([" "]);
1888
+ }
1889
+ }
1890
+ ;
1891
+ //project[fldName + '_SearchValue'] = { $concatArrays: searchConcatArry };
1892
+ project[fldName + '_SearchValue'] = {
1893
+ $reduce: {
1894
+ input: { $concatArrays: searchConcatArry },
1895
+ initialValue: "",
1896
+ //in: { $concat: ["$$value", "$$this"] } // Commented by and below line was added by Shahzaib, make int to string
1897
+ in: { $concat: ["$$value", { $toString: "$$this" }] }
1898
+ }
1899
+ };
1900
+ break;
1901
+ case "dropdown":
1902
+ alias = fldName + constants_1.default.LookupAlias;
1903
+ project[fldName] = 1;
1904
+ project[alias] = 1;
1905
+ if (field.Schema.LookupObject) {
1906
+ for (var i = 0; i < field.Schema.LookupFields.length; i++) {
1907
+ //searchConcatArry.push({ "$ifNull": ['$' + alias + '.' + field.Schema.LookupFields[i], ""] });
1908
+ // added by Mohan, make int to string and concat
1909
+ searchConcatArry.push({ "$ifNull": [{ $toString: '$' + alias + '.' + field.Schema.LookupFields[i] }, ""] });
1910
+ if (i < field.Schema.LookupFields.length - 1) {
1911
+ searchConcatArry.push(" ");
1912
+ }
1913
+ }
1914
+ ;
1915
+ project[fldName + '_SearchValue'] = { $concat: searchConcatArry };
1916
+ }
1917
+ else {
1918
+ project[fldName + '_SearchValue'] = '$' + alias + '.Value';
1919
+ }
1920
+ break;
1921
+ case "multiselect":
1922
+ alias = fldName + constants_1.default.LookupAlias;
1923
+ project[fldName] = 1;
1924
+ project[alias] = 1;
1925
+ if (field.Schema.LookupObject) {
1926
+ for (var i = 0; i < field.Schema.LookupFields.length; i++) {
1927
+ searchConcatArry.push({ "$ifNull": ['$' + alias + '.' + field.Schema.LookupFields[i], [" "]] });
1928
+ if (i < field.Schema.LookupFields.length - 1) {
1929
+ searchConcatArry.push([" "]);
1930
+ }
1931
+ }
1932
+ ;
1933
+ project[fldName + '_SearchValue'] = { $concatArrays: searchConcatArry };
1934
+ }
1935
+ else {
1936
+ searchConcatArry.push('$' + alias + '.Value');
1937
+ project[fldName + '_SearchValue'] = { $concatArrays: searchConcatArry };
1938
+ }
1939
+ break;
1948
1940
  case "file":
1949
1941
  case "image":
1950
1942
  alias = fldName + constants_1.default.LookupAlias;
@@ -3448,7 +3440,7 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
3448
3440
  return __generator(this, function (_g) {
3449
3441
  switch (_g.label) {
3450
3442
  case 0:
3451
- if (!(data.length > 0)) return [3 /*break*/, 11];
3443
+ if (!(data.length > 0)) return [3 /*break*/, 9];
3452
3444
  modifiedObj = {
3453
3445
  ModifiedBy: new mongodb_1.ObjectId(msp_d.ui),
3454
3446
  ModifiedDate: new Date()
@@ -3456,7 +3448,7 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
3456
3448
  _i = 0, data_1 = data;
3457
3449
  _g.label = 1;
3458
3450
  case 1:
3459
- if (!(_i < data_1.length)) return [3 /*break*/, 7];
3451
+ if (!(_i < data_1.length)) return [3 /*break*/, 5];
3460
3452
  obj = data_1[_i];
3461
3453
  query = {
3462
3454
  ObjectName: obj.Name
@@ -3468,46 +3460,44 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
3468
3460
  return [4 /*yield*/, BuildLookupDataField(fieldSchema, modifiedObj, db)];
3469
3461
  case 3:
3470
3462
  _g.sent();
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);
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);
3463
+ if (obj.Fields.ListSchemaName == syncFields.ListSchemaName || (obj.Fields.IsMultipleListSchemaName && obj.Fields.ListSchemaName.includes(syncFields.ListSchemaName))) {
3464
+ alias = obj.Fields.Name + constants_1.default.LookupAlias;
3465
+ query.match = (_a = {},
3466
+ _a[obj.Fields.Name] = syncFields.ListKey,
3467
+ _a);
3468
+ if (obj.Fields.UIDataType == 'multiselect') {
3469
+ if (syncFields.IsDeleteValue)
3470
+ query.set = (_b = {}, _b[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].IsActive'] = false, _b);
3471
+ else
3472
+ query.set = (_c = {}, _c[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].Value'] = syncFields.Value, _c);
3473
+ query.arrayFilters = (_d = {},
3474
+ _d['e.Key'] = syncFields.ListKey,
3475
+ _d);
3476
+ }
3477
+ else {
3478
+ if (syncFields.IsDeleteValue)
3479
+ query.set = (_e = {}, _e[alias + '.IsActive'] = false, _e);
3480
+ else
3481
+ query.set = (_f = {}, _f[alias + '.Value'] = syncFields.Value, _f);
3482
+ }
3483
+ query.set = __assign(__assign({}, query.set), modifiedObj);
3484
+ // Below code was added by Shahzaib on 05/09/2022
3485
+ // if (!syncFields.IsDeleteValue)
3486
+ // await BuildSearchValueQuery(syncFields, obj, query, db);
3490
3487
  }
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:
3498
3488
  if (query.set && query.match) {
3499
3489
  querys.push(query);
3500
3490
  }
3501
- _g.label = 6;
3502
- case 6:
3491
+ _g.label = 4;
3492
+ case 4:
3503
3493
  _i++;
3504
3494
  return [3 /*break*/, 1];
3505
- case 7:
3506
- if (!(querys.length > 0)) return [3 /*break*/, 11];
3495
+ case 5:
3496
+ if (!(querys.length > 0)) return [3 /*break*/, 9];
3507
3497
  i = 0;
3508
- _g.label = 8;
3509
- case 8:
3510
- if (!(i < querys.length)) return [3 /*break*/, 11];
3498
+ _g.label = 6;
3499
+ case 6:
3500
+ if (!(i < querys.length)) return [3 /*break*/, 9];
3511
3501
  query = querys[i];
3512
3502
  bulkOps = [];
3513
3503
  if (query.arrayFilters !== undefined) {
@@ -3522,13 +3512,13 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
3522
3512
  bulkOps.push.apply(bulkOps, query.setSearchValue);
3523
3513
  }
3524
3514
  return [4 /*yield*/, db.collection(query.ObjectName).bulkWrite(bulkOps)];
3525
- case 9:
3515
+ case 7:
3526
3516
  _g.sent();
3527
- _g.label = 10;
3528
- case 10:
3517
+ _g.label = 8;
3518
+ case 8:
3529
3519
  i++;
3530
- return [3 /*break*/, 8];
3531
- case 11:
3520
+ return [3 /*break*/, 6];
3521
+ case 9:
3532
3522
  resolve();
3533
3523
  return [2 /*return*/];
3534
3524
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.298",
3
+ "version": "1.0.300",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {