@optimiser/common 1.0.413 → 1.0.414

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.
@@ -144,7 +144,7 @@ var AwsServices = /** @class */ (function () {
144
144
  encodedurl = "".concat(CDN, "/").concat(FilePath);
145
145
  }
146
146
  else {
147
- FileName = this.EncodeFileName(FileName);
147
+ FileName = this.EncodeFileName(FileName).replace(/[^a-zA-Z0-9-_\.]/g, "-");
148
148
  encodedurl = "".concat(CDN, "/").concat(FilePath, "?response-content-disposition=").concat(encodeURIComponent("attachment;filename=" + FileName));
149
149
  }
150
150
  signingParams = {
@@ -305,11 +305,12 @@ declare function GetFileFolderDetailsInFolderForDriveSharing(parentFolderID: any
305
305
  * @return NA
306
306
  */
307
307
  declare function SyncTotalSlotRemaining(registrationID: any, db: Db): Promise<void>;
308
- declare function CheckAccessPermissions(permissionType: string, objectName: string, pageName: string, msp_d: AnyObjectInterface, db: Db, mdb: Db, next: NextFunction): Promise<boolean | undefined>;
308
+ declare function CheckAccessPermissions(permissionType: string, objectName: string, msp_d: AnyObjectInterface, db: Db, mdb: Db, next: NextFunction): Promise<boolean | undefined>;
309
+ declare function CheckProfilePermissions(permissionType: string, objectName: string, pageName: string, msp_d: AnyObjectInterface, db: Db, mdb: Db, next: NextFunction): Promise<boolean | undefined>;
309
310
  /**
310
311
  * TODO: To Set the delay
311
312
  *
312
313
  * @param ms - delay in milisecond
313
314
  */
314
315
  declare function Delay(ms: integer): Promise<unknown>;
315
- export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, UpdateRecentViewFields, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, GetObjectByString, 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, CheckConditionalField, CheckExpressionOnDateField, AddDaysToDate, CreateBanquetingVATSettingsData, CheckReportFolderAccess, GetMailFromString, InvitationMailReplyContent, HasFiscalOperator, GetEncryptedURL, GenerateBase64QRCodeData, GetFileFolderDetailsInFolderForDriveSharing, SyncTotalSlotRemaining, CheckAccessPermissions, Delay };
316
+ export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, UpdateRecentViewFields, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, GetObjectByString, 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, CheckConditionalField, CheckExpressionOnDateField, AddDaysToDate, CreateBanquetingVATSettingsData, CheckReportFolderAccess, GetMailFromString, InvitationMailReplyContent, HasFiscalOperator, GetEncryptedURL, GenerateBase64QRCodeData, GetFileFolderDetailsInFolderForDriveSharing, SyncTotalSlotRemaining, CheckAccessPermissions, CheckProfilePermissions, Delay };
@@ -85,7 +85,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
85
85
  };
86
86
  Object.defineProperty(exports, "__esModule", { value: true });
87
87
  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.GetObjectByString = 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;
88
- exports.Delay = exports.CheckAccessPermissions = exports.SyncTotalSlotRemaining = exports.GetFileFolderDetailsInFolderForDriveSharing = exports.GenerateBase64QRCodeData = exports.GetEncryptedURL = exports.HasFiscalOperator = exports.InvitationMailReplyContent = exports.GetMailFromString = exports.CheckReportFolderAccess = exports.CreateBanquetingVATSettingsData = exports.AddDaysToDate = exports.CheckExpressionOnDateField = exports.CheckConditionalField = 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 = void 0;
88
+ exports.Delay = exports.CheckProfilePermissions = exports.CheckAccessPermissions = exports.SyncTotalSlotRemaining = exports.GetFileFolderDetailsInFolderForDriveSharing = exports.GenerateBase64QRCodeData = exports.GetEncryptedURL = exports.HasFiscalOperator = exports.InvitationMailReplyContent = exports.GetMailFromString = exports.CheckReportFolderAccess = exports.CreateBanquetingVATSettingsData = exports.AddDaysToDate = exports.CheckExpressionOnDateField = exports.CheckConditionalField = 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 = void 0;
89
89
  var moment_1 = __importDefault(require("moment"));
90
90
  var nodemailer_1 = __importDefault(require("nodemailer"));
91
91
  var mongodb_1 = require("mongodb");
@@ -5786,7 +5786,7 @@ function ValidateStateCountryField(_a) {
5786
5786
  });
5787
5787
  }
5788
5788
  /*
5789
- * This function is used to check user permission
5789
+ * Please not use this function, it will remove after go live of CheckProfilePermissions function
5790
5790
  * @param1: permissionType, like Create/Modify/Delete/Import. permission type user has.
5791
5791
  * @param2: objectName, like Contact, Account etc
5792
5792
  * @param3:
@@ -5796,10 +5796,60 @@ function ValidateStateCountryField(_a) {
5796
5796
  * Example: If user has Create/Modify/Delete/Import permission let him procceed else stop access.
5797
5797
  * Return: true/false
5798
5798
  */
5799
- function CheckAccessPermissions(permissionType, objectName, pageName, msp_d, db, mdb, next) {
5799
+ function CheckAccessPermissions(permissionType, objectName, msp_d, db, mdb, next) {
5800
+ return __awaiter(this, void 0, void 0, function () {
5801
+ var response, isAllowed, data, _i, _a, item, error_9;
5802
+ return __generator(this, function (_b) {
5803
+ switch (_b.label) {
5804
+ case 0:
5805
+ _b.trys.push([0, 2, , 3]);
5806
+ return [4 /*yield*/, GetUserProfile(msp_d, db, mdb, next)];
5807
+ case 1:
5808
+ response = _b.sent();
5809
+ isAllowed = true;
5810
+ data = response === null || response === void 0 ? void 0 : response.data;
5811
+ if (data && data.Permissions.length > 0) {
5812
+ for (_i = 0, _a = data.Permissions; _i < _a.length; _i++) {
5813
+ item = _a[_i];
5814
+ if (item.ModuleID.toLowerCase() == objectName.toLowerCase()) {
5815
+ if (!item.Operations.includes(permissionType)) {
5816
+ isAllowed = false;
5817
+ if (item.Operations.includes('Create-Edit'))
5818
+ isAllowed = true;
5819
+ }
5820
+ }
5821
+ }
5822
+ }
5823
+ else if ((response === null || response === void 0 ? void 0 : response.message) != 'success') { // Else if was added by Shahzaib not to allow user to perform CRUD operation with inactive licence.
5824
+ isAllowed = false;
5825
+ }
5826
+ return [2 /*return*/, isAllowed];
5827
+ case 2:
5828
+ error_9 = _b.sent();
5829
+ console.error("Internal Error in CheckAccessPermissions function : ".concat(error_9));
5830
+ return [3 /*break*/, 3];
5831
+ case 3: return [2 /*return*/];
5832
+ }
5833
+ });
5834
+ });
5835
+ }
5836
+ exports.CheckAccessPermissions = CheckAccessPermissions;
5837
+ /*
5838
+ * This function is used to check user profile permission
5839
+ * @param1: permissionType, like Create/Modify/Delete/Import. permission type user has.
5840
+ * @param2: objectName, like Contact, Account etc
5841
+ * @param3: pageName
5842
+ * @param4: msp_d, it contains userid, companyid, etc
5843
+ * @param5: db (database)
5844
+ * @param6: mdb (master DB)
5845
+ * Desc: allow user to procced, if he has access permission
5846
+ * Example: If user has Create/Modify/Delete/Import permission let him procceed else stop access.
5847
+ * Return: true/false
5848
+ */
5849
+ function CheckProfilePermissions(permissionType, objectName, pageName, msp_d, db, mdb, next) {
5800
5850
  var _a, _b, _c, _d, _e;
5801
5851
  return __awaiter(this, void 0, void 0, function () {
5802
- var response, isAllowed, data, _i, _f, item, error_9;
5852
+ var response, isAllowed, data, _i, _f, item, error_10;
5803
5853
  return __generator(this, function (_g) {
5804
5854
  switch (_g.label) {
5805
5855
  case 0:
@@ -5831,15 +5881,15 @@ function CheckAccessPermissions(permissionType, objectName, pageName, msp_d, db,
5831
5881
  }
5832
5882
  return [2 /*return*/, isAllowed];
5833
5883
  case 2:
5834
- error_9 = _g.sent();
5835
- console.error("Internal Error in CheckAccessPermissions function : ".concat(error_9));
5884
+ error_10 = _g.sent();
5885
+ console.error("Internal Error in CheckProfilePermissions function : ".concat(error_10));
5836
5886
  return [3 /*break*/, 3];
5837
5887
  case 3: return [2 /*return*/];
5838
5888
  }
5839
5889
  });
5840
5890
  });
5841
5891
  }
5842
- exports.CheckAccessPermissions = CheckAccessPermissions;
5892
+ exports.CheckProfilePermissions = CheckProfilePermissions;
5843
5893
  /**
5844
5894
  * TODO: To Set the delay
5845
5895
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.413",
3
+ "version": "1.0.414",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {