@optimiser/common 1.0.315 → 1.0.316

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.
@@ -235,11 +235,4 @@ declare function GetMailFromString(fromUser: string): string;
235
235
  * @returns string
236
236
  */
237
237
  declare function InvitationMailReplyContent(fromUser: string, fromEmail: string): string;
238
- /**
239
- * TODO: Check if filter has fiscal in Operator value - Recursion Function
240
- *
241
- * @param filter - object || array
242
- * @return boolean
243
- */
244
- declare function HasFiscalOperator(filter: any): boolean;
245
- export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, UpdateRecentViewFields, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, BuildLookupDataField, CheckDataBeforeAdd, CheckDataBeforeUpdate, BuildGridFieldProjection, BuildFieldProjection, BuildLookupFieldProjection, FilterConditions, GirdHeaderFilters, FieldsGridHeaderFilters, AddLog, CheckFilterFieldsProjection, VerifyEmailPassword, GetMyTeamUsers, ExtractChildUsersTree, GetMaxKeyValueListSchema, VerifyAWSEmailConfig, GenerateId, SyncUserDetailsWithMasterDB, SignoutUserFromAllDevices, SignoutUsersWithPromise, SignoutMultipleUsersFromAllDevices, UserLicenseConsumeCalculate, sendMailWithUserAccount, GetEmailClientConfigs, GetCompanyEncryptionKey, ExecuteDynamicDMLQuery, ExecuteDynamicDQLQuery, GetUserProfilePermissions, MakeUserPasswordInvalid, ConvertJsonToXLXS, SendResetPasswordMail, SendMailToSupport, MailTemplateStructure, SendMailToCustomer, parseMSPCookie, GetIPDetailsFromReq, isEmptyObj, SyncListSchemaFieldInOtherCollection, UpdateTagCountAfterDelete, SyncTagCountAfterUpdate, ReactivateFieldInOtherCollection, SyncUserLicenceConsumedCount, BroadCastEventToAllCompanyUsers, CheckDataPermission, SyncCompanyLicenceInMasterCompanyAfterAdd, NextServiceDateForDashboard, CheckDateNotInPast, GetWeekDayByDayAndOccurance, GetInterValFromOccurance, GetWeekDayInfoInMonth, GetDayIndex, RemoveFieldsFromFilters, GetUserProfile, CheckPageAuthentication, ErrorHandlerForServices, CheckCaptcha, IsStringValue, ValidateSanitizeUserInput, ValidateUserInput, AddDaysToDate, CreateBanquetingVATSettingsData, CheckReportFolderAccess, GetMailFromString, InvitationMailReplyContent, HasFiscalOperator };
238
+ export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, UpdateRecentViewFields, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, BuildLookupDataField, CheckDataBeforeAdd, CheckDataBeforeUpdate, BuildGridFieldProjection, BuildFieldProjection, BuildLookupFieldProjection, FilterConditions, GirdHeaderFilters, FieldsGridHeaderFilters, AddLog, CheckFilterFieldsProjection, VerifyEmailPassword, GetMyTeamUsers, ExtractChildUsersTree, GetMaxKeyValueListSchema, VerifyAWSEmailConfig, GenerateId, SyncUserDetailsWithMasterDB, SignoutUserFromAllDevices, SignoutUsersWithPromise, SignoutMultipleUsersFromAllDevices, UserLicenseConsumeCalculate, sendMailWithUserAccount, GetEmailClientConfigs, GetCompanyEncryptionKey, ExecuteDynamicDMLQuery, ExecuteDynamicDQLQuery, GetUserProfilePermissions, MakeUserPasswordInvalid, ConvertJsonToXLXS, SendResetPasswordMail, SendMailToSupport, MailTemplateStructure, SendMailToCustomer, parseMSPCookie, GetIPDetailsFromReq, isEmptyObj, SyncListSchemaFieldInOtherCollection, UpdateTagCountAfterDelete, SyncTagCountAfterUpdate, ReactivateFieldInOtherCollection, SyncUserLicenceConsumedCount, BroadCastEventToAllCompanyUsers, CheckDataPermission, SyncCompanyLicenceInMasterCompanyAfterAdd, NextServiceDateForDashboard, CheckDateNotInPast, GetWeekDayByDayAndOccurance, GetInterValFromOccurance, GetWeekDayInfoInMonth, GetDayIndex, RemoveFieldsFromFilters, GetUserProfile, CheckPageAuthentication, ErrorHandlerForServices, CheckCaptcha, IsStringValue, ValidateSanitizeUserInput, ValidateUserInput, AddDaysToDate, CreateBanquetingVATSettingsData, CheckReportFolderAccess, GetMailFromString, InvitationMailReplyContent };
@@ -80,7 +80,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
80
80
  return (mod && mod.__esModule) ? mod : { "default": mod };
81
81
  };
82
82
  Object.defineProperty(exports, "__esModule", { value: true });
83
- exports.HasFiscalOperator = exports.InvitationMailReplyContent = exports.GetMailFromString = exports.CheckReportFolderAccess = exports.CreateBanquetingVATSettingsData = exports.AddDaysToDate = exports.ValidateUserInput = exports.ValidateSanitizeUserInput = exports.IsStringValue = exports.CheckCaptcha = exports.ErrorHandlerForServices = exports.CheckPageAuthentication = exports.GetUserProfile = exports.RemoveFieldsFromFilters = exports.GetDayIndex = exports.GetWeekDayInfoInMonth = exports.GetInterValFromOccurance = exports.GetWeekDayByDayAndOccurance = exports.CheckDateNotInPast = exports.NextServiceDateForDashboard = exports.SyncCompanyLicenceInMasterCompanyAfterAdd = exports.CheckDataPermission = exports.BroadCastEventToAllCompanyUsers = exports.SyncUserLicenceConsumedCount = exports.ReactivateFieldInOtherCollection = exports.SyncTagCountAfterUpdate = exports.UpdateTagCountAfterDelete = exports.SyncListSchemaFieldInOtherCollection = exports.isEmptyObj = exports.GetIPDetailsFromReq = exports.parseMSPCookie = exports.SendMailToCustomer = exports.MailTemplateStructure = exports.SendMailToSupport = exports.SendResetPasswordMail = exports.ConvertJsonToXLXS = exports.MakeUserPasswordInvalid = exports.GetUserProfilePermissions = exports.ExecuteDynamicDQLQuery = exports.ExecuteDynamicDMLQuery = exports.GetCompanyEncryptionKey = exports.GetEmailClientConfigs = exports.sendMailWithUserAccount = exports.UserLicenseConsumeCalculate = exports.SignoutMultipleUsersFromAllDevices = exports.SignoutUsersWithPromise = exports.SignoutUserFromAllDevices = exports.SyncUserDetailsWithMasterDB = exports.GenerateId = exports.VerifyAWSEmailConfig = exports.GetMaxKeyValueListSchema = exports.ExtractChildUsersTree = exports.GetMyTeamUsers = exports.VerifyEmailPassword = exports.CheckFilterFieldsProjection = exports.AddLog = exports.FieldsGridHeaderFilters = exports.GirdHeaderFilters = exports.FilterConditions = exports.BuildLookupFieldProjection = exports.BuildFieldProjection = exports.BuildGridFieldProjection = exports.CheckDataBeforeUpdate = exports.CheckDataBeforeAdd = exports.BuildLookupDataField = exports.SyncUserInOtherCollection = exports.SyncFieldInOtherCollection = exports.SyncFieldInSameCollectionByObjectIDWithPromise = exports.SyncFieldInSameCollectionByObjectID = exports.SyncFieldInSameCollection = exports.DeleteFieldInOtherCollection = exports.SyncParentObjectData = exports.SyncChildObjectData = exports.UpdateRecentViewFields = exports.UpdateRecentViewObject = exports.GetFieldDetail = exports.GetPageObjectSchema = exports.GetPageFieldData = exports.CheckUserProfileField = exports.IsEqualValue = exports.IsEqualArrays = exports.GetObjectByKeyValueFromList = exports.ConvertFileByteSize = exports.ReturnJsonResponse = exports.CheckForWhiteListedDomain = void 0;
83
+ exports.InvitationMailReplyContent = exports.GetMailFromString = exports.CheckReportFolderAccess = exports.CreateBanquetingVATSettingsData = exports.AddDaysToDate = exports.ValidateUserInput = exports.ValidateSanitizeUserInput = exports.IsStringValue = exports.CheckCaptcha = exports.ErrorHandlerForServices = exports.CheckPageAuthentication = exports.GetUserProfile = exports.RemoveFieldsFromFilters = exports.GetDayIndex = exports.GetWeekDayInfoInMonth = exports.GetInterValFromOccurance = exports.GetWeekDayByDayAndOccurance = exports.CheckDateNotInPast = exports.NextServiceDateForDashboard = exports.SyncCompanyLicenceInMasterCompanyAfterAdd = exports.CheckDataPermission = exports.BroadCastEventToAllCompanyUsers = exports.SyncUserLicenceConsumedCount = exports.ReactivateFieldInOtherCollection = exports.SyncTagCountAfterUpdate = exports.UpdateTagCountAfterDelete = exports.SyncListSchemaFieldInOtherCollection = exports.isEmptyObj = exports.GetIPDetailsFromReq = exports.parseMSPCookie = exports.SendMailToCustomer = exports.MailTemplateStructure = exports.SendMailToSupport = exports.SendResetPasswordMail = exports.ConvertJsonToXLXS = exports.MakeUserPasswordInvalid = exports.GetUserProfilePermissions = exports.ExecuteDynamicDQLQuery = exports.ExecuteDynamicDMLQuery = exports.GetCompanyEncryptionKey = exports.GetEmailClientConfigs = exports.sendMailWithUserAccount = exports.UserLicenseConsumeCalculate = exports.SignoutMultipleUsersFromAllDevices = exports.SignoutUsersWithPromise = exports.SignoutUserFromAllDevices = exports.SyncUserDetailsWithMasterDB = exports.GenerateId = exports.VerifyAWSEmailConfig = exports.GetMaxKeyValueListSchema = exports.ExtractChildUsersTree = exports.GetMyTeamUsers = exports.VerifyEmailPassword = exports.CheckFilterFieldsProjection = exports.AddLog = exports.FieldsGridHeaderFilters = exports.GirdHeaderFilters = exports.FilterConditions = exports.BuildLookupFieldProjection = exports.BuildFieldProjection = exports.BuildGridFieldProjection = exports.CheckDataBeforeUpdate = exports.CheckDataBeforeAdd = exports.BuildLookupDataField = exports.SyncUserInOtherCollection = exports.SyncFieldInOtherCollection = exports.SyncFieldInSameCollectionByObjectIDWithPromise = exports.SyncFieldInSameCollectionByObjectID = exports.SyncFieldInSameCollection = exports.DeleteFieldInOtherCollection = exports.SyncParentObjectData = exports.SyncChildObjectData = exports.UpdateRecentViewFields = exports.UpdateRecentViewObject = exports.GetFieldDetail = exports.GetPageObjectSchema = exports.GetPageFieldData = exports.CheckUserProfileField = exports.IsEqualValue = exports.IsEqualArrays = exports.GetObjectByKeyValueFromList = exports.ConvertFileByteSize = exports.ReturnJsonResponse = exports.CheckForWhiteListedDomain = void 0;
84
84
  var moment_1 = __importDefault(require("moment"));
85
85
  var nodemailer_1 = __importDefault(require("nodemailer"));
86
86
  var mongodb_1 = require("mongodb");
@@ -4595,7 +4595,7 @@ function ValidateUserInput(options) {
4595
4595
  }
4596
4596
  }
4597
4597
  _loop_19 = function (pageField) {
4598
- var fieldName, fieldData, field, searchQuery, result, _a, filter, searchObj, result, searchObj, totalRecord, _b, schemaData, result, searchObj, result, schemaData, result, searchObj, totalRecord, regexpression, phone, files, _i, fieldData_1, obj, searchObj, totalRecord, searchObj, result, _c, fieldData_2, obj;
4598
+ var fieldName, fieldData, field, searchQuery, result, _a, minValue, maxValue, filter, searchObj, result, searchObj, totalRecord, _b, schemaData, result, searchObj, result, schemaData, result, searchObj, totalRecord, regexpression, phone, files, _i, fieldData_1, obj, searchObj, totalRecord, searchObj, result, _c, fieldData_2, obj;
4599
4599
  return __generator(this, function (_d) {
4600
4600
  switch (_d.label) {
4601
4601
  case 0:
@@ -4608,7 +4608,7 @@ function ValidateUserInput(options) {
4608
4608
  delete inputFields[pageField.Name];
4609
4609
  }
4610
4610
  field = schemaFields.find(function (x) { return x.Name == fieldName; });
4611
- if (!field) return [3 /*break*/, 54];
4611
+ if (!field) return [3 /*break*/, 55];
4612
4612
  if (field.DisableValidateUserInput) {
4613
4613
  return [2 /*return*/, "continue"];
4614
4614
  }
@@ -4643,40 +4643,34 @@ function ValidateUserInput(options) {
4643
4643
  }
4644
4644
  _d.label = 2;
4645
4645
  case 2:
4646
- if (!inputField.includes(fieldName)) return [3 /*break*/, 53];
4647
- if (!(fieldData || fieldData === 0 || fieldData === false)) return [3 /*break*/, 53];
4646
+ if (!inputField.includes(fieldName)) return [3 /*break*/, 54];
4647
+ if (!(fieldData || fieldData === 0 || fieldData === false)) return [3 /*break*/, 54];
4648
4648
  _a = field.UIDataType;
4649
4649
  switch (_a) {
4650
4650
  case 'int': return [3 /*break*/, 3];
4651
- case 'decimal': return [3 /*break*/, 3];
4652
- case 'date': return [3 /*break*/, 4];
4653
- case 'datetime': return [3 /*break*/, 4];
4654
- case 'time': return [3 /*break*/, 5];
4655
- case 'email': return [3 /*break*/, 6];
4656
- case 'checkbox': return [3 /*break*/, 7];
4657
- case 'lookup': return [3 /*break*/, 8];
4658
- case 'multilookup': return [3 /*break*/, 11];
4659
- case 'dropdown': return [3 /*break*/, 20];
4660
- case 'multiselect': return [3 /*break*/, 26];
4661
- case 'url': return [3 /*break*/, 36];
4662
- case 'phone': return [3 /*break*/, 37];
4663
- case "image": return [3 /*break*/, 38];
4664
- case 'file': return [3 /*break*/, 38];
4665
- case 'textarea': return [3 /*break*/, 47];
4666
- case 'text': return [3 /*break*/, 47];
4667
- case 'texteditor': return [3 /*break*/, 47];
4668
- case 'collection': return [3 /*break*/, 48];
4651
+ case 'decimal': return [3 /*break*/, 4];
4652
+ case 'date': return [3 /*break*/, 5];
4653
+ case 'datetime': return [3 /*break*/, 5];
4654
+ case 'time': return [3 /*break*/, 6];
4655
+ case 'email': return [3 /*break*/, 7];
4656
+ case 'checkbox': return [3 /*break*/, 8];
4657
+ case 'lookup': return [3 /*break*/, 9];
4658
+ case 'multilookup': return [3 /*break*/, 12];
4659
+ case 'dropdown': return [3 /*break*/, 21];
4660
+ case 'multiselect': return [3 /*break*/, 27];
4661
+ case 'url': return [3 /*break*/, 37];
4662
+ case 'phone': return [3 /*break*/, 38];
4663
+ case "image": return [3 /*break*/, 39];
4664
+ case 'file': return [3 /*break*/, 39];
4665
+ case 'textarea': return [3 /*break*/, 48];
4666
+ case 'text': return [3 /*break*/, 48];
4667
+ case 'texteditor': return [3 /*break*/, 48];
4668
+ case 'collection': return [3 /*break*/, 49];
4669
4669
  }
4670
- return [3 /*break*/, 53];
4670
+ return [3 /*break*/, 54];
4671
4671
  case 3:
4672
4672
  {
4673
- if (IsStringValue(fieldData)) {
4674
- msg = 'Invalid value for ' + field.DisplayName + '!';
4675
- }
4676
- else if (field.UIDataType == 'int' && Number.isInteger(fieldData) == false) {
4677
- msg = 'Invalid value for ' + field.DisplayName + '!';
4678
- }
4679
- else if (field.UIDataType == 'decimal' && isNaN(fieldData)) {
4673
+ if (IsStringValue(fieldData) || Number.isInteger(fieldData) == false) {
4680
4674
  msg = 'Invalid value for ' + field.DisplayName + '!';
4681
4675
  }
4682
4676
  else if (field.MinValue !== undefined && field.MinValue !== null && fieldData < field.MinValue) {
@@ -4686,15 +4680,33 @@ function ValidateUserInput(options) {
4686
4680
  msg = field.DisplayName + ' value must be smaller then or equal to ' + field.MaxValue;
4687
4681
  }
4688
4682
  }
4689
- return [3 /*break*/, 53];
4683
+ return [3 /*break*/, 54];
4690
4684
  case 4:
4685
+ {
4686
+ minValue = field.MinValue, maxValue = field.MaxValue;
4687
+ if (minValue instanceof mongodb_1.Decimal128)
4688
+ minValue = parseFloat((minValue).toString());
4689
+ if (maxValue instanceof mongodb_1.Decimal128)
4690
+ maxValue = parseFloat((maxValue).toString());
4691
+ if (IsStringValue(fieldData) || isNaN(fieldData)) {
4692
+ msg = 'Invalid value for ' + field.DisplayName + '!';
4693
+ }
4694
+ else if (minValue !== undefined && minValue !== null && fieldData < minValue) {
4695
+ msg = field.DisplayName + ' value must be greater then or equal to ' + minValue;
4696
+ }
4697
+ else if (maxValue !== undefined && maxValue !== null && maxValue < fieldData) {
4698
+ msg = field.DisplayName + ' value must be smaller then or equal to ' + maxValue;
4699
+ }
4700
+ }
4701
+ return [3 /*break*/, 54];
4702
+ case 5:
4691
4703
  {
4692
4704
  if ((fieldData instanceof Date && !isNaN(inputFields[fieldName])) == false) {
4693
4705
  msg = 'Invalid date for ' + field.DisplayName + '!';
4694
4706
  }
4695
4707
  }
4696
- return [3 /*break*/, 53];
4697
- case 5:
4708
+ return [3 /*break*/, 54];
4709
+ case 6:
4698
4710
  {
4699
4711
  if (field.ShowNextDayHoursUpto) {
4700
4712
  //When we are showing hours of Next days in Time Control
@@ -4711,24 +4723,24 @@ function ValidateUserInput(options) {
4711
4723
  }
4712
4724
  }
4713
4725
  }
4714
- return [3 /*break*/, 53];
4715
- case 6:
4726
+ return [3 /*break*/, 54];
4727
+ case 7:
4716
4728
  {
4717
4729
  filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
4718
4730
  if (!filter.test(fieldData)) {
4719
4731
  msg = fieldData + ' is invalid email for ' + field.DisplayName + '!';
4720
4732
  }
4721
4733
  }
4722
- return [3 /*break*/, 53];
4723
- case 7:
4734
+ return [3 /*break*/, 54];
4735
+ case 8:
4724
4736
  {
4725
4737
  if (fieldData !== true && fieldData !== false) {
4726
4738
  msg = 'Invalid user input for ' + field.DisplayName + '!';
4727
4739
  }
4728
4740
  }
4729
- return [3 /*break*/, 53];
4730
- case 8:
4731
- if (!!field.IsMultipleLookupObject) return [3 /*break*/, 10];
4741
+ return [3 /*break*/, 54];
4742
+ case 9:
4743
+ if (!!field.IsMultipleLookupObject) return [3 /*break*/, 11];
4732
4744
  searchObj = { _id: fieldData };
4733
4745
  if (field.LookupKey) {
4734
4746
  searchObj = {};
@@ -4739,17 +4751,17 @@ function ValidateUserInput(options) {
4739
4751
  }
4740
4752
  ;
4741
4753
  return [4 /*yield*/, db.collection(field.LookupObject).findOne(searchObj)];
4742
- case 9:
4754
+ case 10:
4743
4755
  result = _d.sent();
4744
4756
  if (result == null) {
4745
4757
  msg = field.DisplayName + ' does not exist!';
4746
4758
  }
4747
- _d.label = 10;
4748
- case 10: return [3 /*break*/, 53];
4749
- case 11:
4750
- if (!Array.isArray(fieldData)) return [3 /*break*/, 18];
4751
- if (!fieldData.length) return [3 /*break*/, 16];
4752
- if (!!field.IsMultipleLookupObject) return [3 /*break*/, 15];
4759
+ _d.label = 11;
4760
+ case 11: return [3 /*break*/, 54];
4761
+ case 12:
4762
+ if (!Array.isArray(fieldData)) return [3 /*break*/, 19];
4763
+ if (!fieldData.length) return [3 /*break*/, 17];
4764
+ if (!!field.IsMultipleLookupObject) return [3 /*break*/, 16];
4753
4765
  searchObj = { _id: { $in: fieldData } };
4754
4766
  if (field.LookupKey) {
4755
4767
  searchObj = {};
@@ -4760,46 +4772,46 @@ function ValidateUserInput(options) {
4760
4772
  }
4761
4773
  ;
4762
4774
  return [4 /*yield*/, db.collection(field.LookupObject).find(searchObj).count()];
4763
- case 12:
4775
+ case 13:
4764
4776
  totalRecord = _d.sent();
4765
- if (!(objectName == "Activity" && field.Name == 'Attendees')) return [3 /*break*/, 14];
4777
+ if (!(objectName == "Activity" && field.Name == 'Attendees')) return [3 /*break*/, 15];
4766
4778
  _b = totalRecord;
4767
4779
  return [4 /*yield*/, db.collection('Contact').find(searchObj).count()];
4768
- case 13:
4769
- totalRecord = _b + _d.sent();
4770
- _d.label = 14;
4771
4780
  case 14:
4781
+ totalRecord = _b + _d.sent();
4782
+ _d.label = 15;
4783
+ case 15:
4772
4784
  if (totalRecord !== fieldData.length) {
4773
4785
  msg = field.DisplayName + ' does not exist!';
4774
4786
  }
4775
- _d.label = 15;
4776
- case 15: return [3 /*break*/, 17];
4777
- case 16:
4787
+ _d.label = 16;
4788
+ case 16: return [3 /*break*/, 18];
4789
+ case 17:
4778
4790
  if (field.IsRequired) {
4779
4791
  msg = field.DisplayName + ' is required!';
4780
4792
  }
4781
- _d.label = 17;
4782
- case 17: return [3 /*break*/, 19];
4783
- case 18:
4793
+ _d.label = 18;
4794
+ case 18: return [3 /*break*/, 20];
4795
+ case 19:
4784
4796
  msg = 'Invalid value for ' + field.DisplayName;
4785
- _d.label = 19;
4786
- case 19: return [3 /*break*/, 53];
4787
- case 20:
4788
- if (!(field.ListSchemaName !== undefined)) return [3 /*break*/, 23];
4789
- if (!!field.IsMultipleListSchemaName) return [3 /*break*/, 22];
4797
+ _d.label = 20;
4798
+ case 20: return [3 /*break*/, 54];
4799
+ case 21:
4800
+ if (!(field.ListSchemaName !== undefined)) return [3 /*break*/, 24];
4801
+ if (!!field.IsMultipleListSchemaName) return [3 /*break*/, 23];
4790
4802
  schemaData = null;
4791
4803
  return [4 /*yield*/, db.collection('ListSchema').findOne({ Name: field.ListSchemaName })];
4792
- case 21:
4804
+ case 22:
4793
4805
  result = _d.sent();
4794
4806
  if (result && result.Data)
4795
4807
  schemaData = result.Data.find(function (x) { return x.Key == fieldData; });
4796
4808
  if (schemaData == null || (action == 'add' && schemaData.IsActive == false)) {
4797
4809
  msg = field.DisplayName + ' does not exist!';
4798
4810
  }
4799
- _d.label = 22;
4800
- case 22: return [3 /*break*/, 25];
4801
- case 23:
4802
- if (!(field.LookupObject !== undefined && !field.IsMultipleLookupObject)) return [3 /*break*/, 25];
4811
+ _d.label = 23;
4812
+ case 23: return [3 /*break*/, 26];
4813
+ case 24:
4814
+ if (!(field.LookupObject !== undefined && !field.IsMultipleLookupObject)) return [3 /*break*/, 26];
4803
4815
  searchObj = { _id: fieldData };
4804
4816
  if (field.LookupKey) {
4805
4817
  searchObj = {};
@@ -4810,21 +4822,21 @@ function ValidateUserInput(options) {
4810
4822
  }
4811
4823
  ;
4812
4824
  return [4 /*yield*/, db.collection(field.LookupObject).findOne(searchObj)];
4813
- case 24:
4825
+ case 25:
4814
4826
  result = _d.sent();
4815
4827
  if (result == null) {
4816
4828
  msg = field.DisplayName + ' does not exist!';
4817
4829
  }
4818
- _d.label = 25;
4819
- case 25: return [3 /*break*/, 53];
4820
- case 26:
4821
- if (!Array.isArray(fieldData)) return [3 /*break*/, 34];
4822
- if (!fieldData.length) return [3 /*break*/, 32];
4823
- if (!(field.ListSchemaName !== undefined)) return [3 /*break*/, 29];
4824
- if (!!field.IsMultipleListSchemaName) return [3 /*break*/, 28];
4830
+ _d.label = 26;
4831
+ case 26: return [3 /*break*/, 54];
4832
+ case 27:
4833
+ if (!Array.isArray(fieldData)) return [3 /*break*/, 35];
4834
+ if (!fieldData.length) return [3 /*break*/, 33];
4835
+ if (!(field.ListSchemaName !== undefined)) return [3 /*break*/, 30];
4836
+ if (!!field.IsMultipleListSchemaName) return [3 /*break*/, 29];
4825
4837
  schemaData = [];
4826
4838
  return [4 /*yield*/, db.collection('ListSchema').findOne({ Name: field.ListSchemaName })];
4827
- case 27:
4839
+ case 28:
4828
4840
  result = _d.sent();
4829
4841
  if (result && result.Data) {
4830
4842
  if (action == 'add')
@@ -4835,10 +4847,10 @@ function ValidateUserInput(options) {
4835
4847
  if (schemaData.length != fieldData.length) {
4836
4848
  msg = field.DisplayName + ' does not exist!';
4837
4849
  }
4838
- _d.label = 28;
4839
- case 28: return [3 /*break*/, 31];
4840
- case 29:
4841
- if (!(field.LookupObject !== undefined && !field.IsMultipleLookupObject)) return [3 /*break*/, 31];
4850
+ _d.label = 29;
4851
+ case 29: return [3 /*break*/, 32];
4852
+ case 30:
4853
+ if (!(field.LookupObject !== undefined && !field.IsMultipleLookupObject)) return [3 /*break*/, 32];
4842
4854
  searchObj = { _id: { $in: fieldData } };
4843
4855
  if (field.LookupKey) {
4844
4856
  searchObj = {};
@@ -4849,32 +4861,32 @@ function ValidateUserInput(options) {
4849
4861
  }
4850
4862
  ;
4851
4863
  return [4 /*yield*/, db.collection(field.LookupObject).find(searchObj).count()];
4852
- case 30:
4864
+ case 31:
4853
4865
  totalRecord = _d.sent();
4854
4866
  if (totalRecord !== fieldData.length) {
4855
4867
  msg = field.DisplayName + ' does not exist!';
4856
4868
  }
4857
- _d.label = 31;
4858
- case 31: return [3 /*break*/, 33];
4859
- case 32:
4869
+ _d.label = 32;
4870
+ case 32: return [3 /*break*/, 34];
4871
+ case 33:
4860
4872
  if (field.IsRequired) {
4861
4873
  msg = field.DisplayName + ' is required!';
4862
4874
  }
4863
- _d.label = 33;
4864
- case 33: return [3 /*break*/, 35];
4865
- case 34:
4875
+ _d.label = 34;
4876
+ case 34: return [3 /*break*/, 36];
4877
+ case 35:
4866
4878
  msg = 'Invalid value for ' + field.DisplayName;
4867
- _d.label = 35;
4868
- case 35: return [3 /*break*/, 53];
4869
- case 36:
4879
+ _d.label = 36;
4880
+ case 36: return [3 /*break*/, 54];
4881
+ case 37:
4870
4882
  {
4871
4883
  regexpression = new RegExp('^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+@,:=#()]*)*(\\?[;&a-z\\d%_@,.:()~+=-]*)?(\\#[-a-z\\d_]*)?$', 'i');
4872
4884
  if (!regexpression.test(fieldData)) {
4873
4885
  msg = 'Invalid URL for ' + field.DisplayName + '!';
4874
4886
  }
4875
4887
  }
4876
- return [3 /*break*/, 53];
4877
- case 37:
4888
+ return [3 /*break*/, 54];
4889
+ case 38:
4878
4890
  {
4879
4891
  if (field.IncludeCountryCode) {
4880
4892
  if (!fieldData.indexOf("+")) {
@@ -4888,11 +4900,11 @@ function ValidateUserInput(options) {
4888
4900
  }
4889
4901
  }
4890
4902
  }
4891
- return [3 /*break*/, 53];
4892
- case 38:
4893
- if (!field.IsMultiple) return [3 /*break*/, 44];
4894
- if (!Array.isArray(fieldData)) return [3 /*break*/, 42];
4895
- if (!fieldData.length) return [3 /*break*/, 40];
4903
+ return [3 /*break*/, 54];
4904
+ case 39:
4905
+ if (!field.IsMultiple) return [3 /*break*/, 45];
4906
+ if (!Array.isArray(fieldData)) return [3 /*break*/, 43];
4907
+ if (!fieldData.length) return [3 /*break*/, 41];
4896
4908
  files = [];
4897
4909
  for (_i = 0, fieldData_1 = fieldData; _i < fieldData_1.length; _i++) {
4898
4910
  obj = fieldData_1[_i];
@@ -4904,37 +4916,37 @@ function ValidateUserInput(options) {
4904
4916
  }
4905
4917
  ;
4906
4918
  return [4 /*yield*/, db.collection("Drive").find(searchObj).count()];
4907
- case 39:
4919
+ case 40:
4908
4920
  totalRecord = _d.sent();
4909
4921
  if (totalRecord !== fieldData.length) {
4910
4922
  msg = field.DisplayName + ' does not exist!';
4911
4923
  }
4912
- return [3 /*break*/, 41];
4913
- case 40:
4924
+ return [3 /*break*/, 42];
4925
+ case 41:
4914
4926
  if (field.IsRequired) {
4915
4927
  msg = field.DisplayName + ' is required!';
4916
4928
  }
4917
- _d.label = 41;
4918
- case 41: return [3 /*break*/, 43];
4919
- case 42:
4929
+ _d.label = 42;
4930
+ case 42: return [3 /*break*/, 44];
4931
+ case 43:
4920
4932
  msg = 'Invalid value for ' + field.DisplayName;
4921
- _d.label = 43;
4922
- case 43: return [3 /*break*/, 46];
4923
- case 44:
4933
+ _d.label = 44;
4934
+ case 44: return [3 /*break*/, 47];
4935
+ case 45:
4924
4936
  searchObj = { _id: fieldData };
4925
4937
  if (action == 'add') {
4926
4938
  searchObj.IsActive = true;
4927
4939
  }
4928
4940
  ;
4929
4941
  return [4 /*yield*/, db.collection("Drive").findOne(searchObj)];
4930
- case 45:
4942
+ case 46:
4931
4943
  result = _d.sent();
4932
4944
  if (result == null) {
4933
4945
  msg = field.DisplayName + ' does not exist!';
4934
4946
  }
4935
- _d.label = 46;
4936
- case 46: return [3 /*break*/, 53];
4937
- case 47:
4947
+ _d.label = 47;
4948
+ case 47: return [3 /*break*/, 54];
4949
+ case 48:
4938
4950
  {
4939
4951
  // Maxlength check;
4940
4952
  if (field.MaxLength !== undefined && field.MaxLength !== null && fieldData.length > field.MaxLength) {
@@ -4944,34 +4956,34 @@ function ValidateUserInput(options) {
4944
4956
  msg = 'Invalid value for ' + field.DisplayName;
4945
4957
  }
4946
4958
  }
4947
- return [3 /*break*/, 53];
4948
- case 48:
4949
- if (!fieldData.length) return [3 /*break*/, 52];
4950
- _c = 0, fieldData_2 = fieldData;
4951
- _d.label = 49;
4959
+ return [3 /*break*/, 54];
4952
4960
  case 49:
4953
- if (!(_c < fieldData_2.length)) return [3 /*break*/, 52];
4961
+ if (!fieldData.length) return [3 /*break*/, 53];
4962
+ _c = 0, fieldData_2 = fieldData;
4963
+ _d.label = 50;
4964
+ case 50:
4965
+ if (!(_c < fieldData_2.length)) return [3 /*break*/, 53];
4954
4966
  obj = fieldData_2[_c];
4955
4967
  return [4 /*yield*/, ValidateUserInput({ 'userInput': obj, 'pageData': pageData, 'objectID': documentID, 'db': db, 'collectionField': fieldName })];
4956
- case 50:
4968
+ case 51:
4957
4969
  validateResp = _d.sent();
4958
4970
  if (validateResp && validateResp != "") {
4959
4971
  msg = validateResp;
4960
- return [3 /*break*/, 52];
4972
+ return [3 /*break*/, 53];
4961
4973
  }
4962
- _d.label = 51;
4963
- case 51:
4974
+ _d.label = 52;
4975
+ case 52:
4964
4976
  _c++;
4965
- return [3 /*break*/, 49];
4966
- case 52: return [3 /*break*/, 53];
4967
- case 53: return [3 /*break*/, 55];
4968
- case 54:
4977
+ return [3 /*break*/, 50];
4978
+ case 53: return [3 /*break*/, 54];
4979
+ case 54: return [3 /*break*/, 56];
4980
+ case 55:
4969
4981
  if (!IsSystemField(objectName, fieldName) && !IsAnotherObjectField(pageData, fieldName)) {
4970
4982
  msg = fieldName + " is not valid schema!";
4971
4983
  return [2 /*return*/, "break"];
4972
4984
  }
4973
- _d.label = 55;
4974
- case 55: return [2 /*return*/];
4985
+ _d.label = 56;
4986
+ case 56: return [2 /*return*/];
4975
4987
  }
4976
4988
  });
4977
4989
  };
@@ -5130,36 +5142,3 @@ function InvitationMailReplyContent(fromUser, fromEmail) {
5130
5142
  return "Please do not 'reply' to this email as it is an automated message and replies are routed to an unmonitored mailbox. If you wish to propose an alternative time or send a message, please contact " + fromUser + " at " + fromEmail + " directly.";
5131
5143
  }
5132
5144
  exports.InvitationMailReplyContent = InvitationMailReplyContent;
5133
- /**
5134
- * TODO: Check if filter has fiscal in Operator value - Recursion Function
5135
- *
5136
- * @param filter - object || array
5137
- * @return boolean
5138
- */
5139
- function HasFiscalOperator(filter) {
5140
- if (Array.isArray(filter)) {
5141
- if (filter && filter.length) {
5142
- for (var i = 0; i < filter.length; i++) {
5143
- var hasFiscalOption = HasFiscalOperator(filter[i]);
5144
- if (hasFiscalOption) {
5145
- return true;
5146
- }
5147
- }
5148
- }
5149
- }
5150
- else {
5151
- if (filter.Filters && filter.Filters.length) {
5152
- for (var i = 0; i < filter.Filters.length; i++) {
5153
- var hasFiscalOption = HasFiscalOperator(filter.Filters[i]);
5154
- if (hasFiscalOption) {
5155
- return true;
5156
- }
5157
- }
5158
- }
5159
- else if (filter && filter.Operator && (filter.Operator.includes("fiscal") || filter.Operator.includes("year-to-date"))) {
5160
- return true;
5161
- }
5162
- }
5163
- return false;
5164
- }
5165
- exports.HasFiscalOperator = HasFiscalOperator;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.315",
3
+ "version": "1.0.316",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {