@optimiser/common 1.0.316 → 1.0.318

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,4 +235,11 @@ declare function GetMailFromString(fromUser: string): string;
235
235
  * @returns string
236
236
  */
237
237
  declare function InvitationMailReplyContent(fromUser: string, fromEmail: string): string;
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 };
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 };
@@ -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.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.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;
84
84
  var moment_1 = __importDefault(require("moment"));
85
85
  var nodemailer_1 = __importDefault(require("nodemailer"));
86
86
  var mongodb_1 = require("mongodb");
@@ -194,7 +194,7 @@ exports.CheckUserProfileField = CheckUserProfileField;
194
194
  function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
195
195
  db.collection("Page").findOne({ 'PageName': pageName }, function (err, pageData) {
196
196
  return __awaiter(this, void 0, void 0, function () {
197
- var hasAccess;
197
+ var response, hasAccess;
198
198
  return __generator(this, function (_a) {
199
199
  switch (_a.label) {
200
200
  case 0:
@@ -205,8 +205,14 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
205
205
  callback(pageData);
206
206
  return [2 /*return*/];
207
207
  }
208
- return [4 /*yield*/, CheckPageAuthentication(pageData, msp_d, db, mdb, next)];
208
+ return [4 /*yield*/, GetUserProfile(msp_d, db, mdb, next)];
209
209
  case 1:
210
+ response = _a.sent();
211
+ if (response && response.message == 'success') {
212
+ pageData['UserProfile'] = response.data;
213
+ }
214
+ return [4 /*yield*/, CheckPageAuthentication(pageData, msp_d, db, mdb, next)];
215
+ case 2:
210
216
  hasAccess = _a.sent();
211
217
  if (!hasAccess) {
212
218
  callback('Unauthorised');
@@ -4291,19 +4297,26 @@ exports.GetUserProfile = GetUserProfile;
4291
4297
  function CheckPageAuthentication(pageData, msp_d, db, mdb, next) {
4292
4298
  var _a, _b;
4293
4299
  return __awaiter(this, void 0, void 0, function () {
4294
- var hasAccess, response, userProfile, auth, i, moduleData;
4300
+ var hasAccess, userProfile, response, auth, i, moduleData;
4295
4301
  return __generator(this, function (_c) {
4296
4302
  switch (_c.label) {
4297
4303
  case 0:
4298
4304
  hasAccess = false;
4299
4305
  if (!(pageData.IsPermissionRequired == false)) return [3 /*break*/, 1];
4300
4306
  hasAccess = true;
4301
- return [3 /*break*/, 3];
4302
- case 1: return [4 /*yield*/, GetUserProfile(msp_d, db, mdb, next)];
4303
- case 2:
4307
+ return [3 /*break*/, 5];
4308
+ case 1:
4309
+ userProfile = void 0;
4310
+ if (!pageData.UserProfile) return [3 /*break*/, 2];
4311
+ userProfile = pageData.UserProfile;
4312
+ return [3 /*break*/, 4];
4313
+ case 2: return [4 /*yield*/, GetUserProfile(msp_d, db, mdb, next)];
4314
+ case 3:
4304
4315
  response = _c.sent();
4305
- if (response && response.message == 'success') {
4306
- userProfile = response.data;
4316
+ userProfile = response === null || response === void 0 ? void 0 : response.data;
4317
+ _c.label = 4;
4318
+ case 4:
4319
+ if (userProfile) {
4307
4320
  auth = userProfile.Permissions;
4308
4321
  for (i = 0; i < auth.length; i++) {
4309
4322
  moduleData = auth[i].ModuleData;
@@ -4316,10 +4329,11 @@ function CheckPageAuthentication(pageData, msp_d, db, mdb, next) {
4316
4329
  }
4317
4330
  }
4318
4331
  else {
4319
- console.log(response === null || response === void 0 ? void 0 : response.message);
4332
+ console.log('User Profile data is not found while checking Page authentication.');
4333
+ hasAccess = false;
4320
4334
  }
4321
- _c.label = 3;
4322
- case 3: return [2 /*return*/, hasAccess];
4335
+ _c.label = 5;
4336
+ case 5: return [2 /*return*/, hasAccess];
4323
4337
  }
4324
4338
  });
4325
4339
  });
@@ -5142,3 +5156,36 @@ function InvitationMailReplyContent(fromUser, fromEmail) {
5142
5156
  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.";
5143
5157
  }
5144
5158
  exports.InvitationMailReplyContent = InvitationMailReplyContent;
5159
+ /**
5160
+ * TODO: Check if filter has fiscal in Operator value - Recursion Function
5161
+ *
5162
+ * @param filter - object || array
5163
+ * @return boolean
5164
+ */
5165
+ function HasFiscalOperator(filter) {
5166
+ if (Array.isArray(filter)) {
5167
+ if (filter && filter.length) {
5168
+ for (var i = 0; i < filter.length; i++) {
5169
+ var hasFiscalOption = HasFiscalOperator(filter[i]);
5170
+ if (hasFiscalOption) {
5171
+ return true;
5172
+ }
5173
+ }
5174
+ }
5175
+ }
5176
+ else {
5177
+ if (filter.Filters && filter.Filters.length) {
5178
+ for (var i = 0; i < filter.Filters.length; i++) {
5179
+ var hasFiscalOption = HasFiscalOperator(filter.Filters[i]);
5180
+ if (hasFiscalOption) {
5181
+ return true;
5182
+ }
5183
+ }
5184
+ }
5185
+ else if (filter && filter.Operator && (filter.Operator.includes("fiscal") || filter.Operator.includes("year-to-date"))) {
5186
+ return true;
5187
+ }
5188
+ }
5189
+ return false;
5190
+ }
5191
+ exports.HasFiscalOperator = HasFiscalOperator;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.316",
3
+ "version": "1.0.318",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {