@optimiser/common 1.0.394 → 1.0.396

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.
@@ -304,4 +304,5 @@ declare function GetFileFolderDetailsInFolderForDriveSharing(parentFolderID: any
304
304
  * @return NA
305
305
  */
306
306
  declare function SyncTotalSlotRemaining(registrationID: any, db: Db): Promise<void>;
307
- 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 };
307
+ declare function CheckAccessPermissions(permissionType: string, objectName: string, msp_d: AnyObjectInterface, db: Db, mdb: Db, next: NextFunction): Promise<boolean | undefined>;
308
+ 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 };
@@ -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.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.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");
@@ -4082,17 +4082,7 @@ function BroadCastEventToAllCompanyUsers(params) {
4082
4082
  data: eventItem.EventData,
4083
4083
  userId: usersData[i]._id.toString()
4084
4084
  };
4085
- //socketUtility.TriggerSockerEvent(req, usersData[i]._id.toString(), eventName, data);
4086
- params.event.CreateEvent(null, null, { SocketObj: socketObjectData }).then(function (socketResult) {
4087
- if (socketResult) {
4088
- console.log("Success");
4089
- }
4090
- else {
4091
- console.log('Notification failed to send.');
4092
- }
4093
- }).catch(function (socketErr) {
4094
- console.log('Notification failed to send due to error ==>', socketErr);
4095
- });
4085
+ params.socket.emit('sendNotification', { SocketObj: socketObjectData });
4096
4086
  }
4097
4087
  }
4098
4088
  }
@@ -5769,6 +5759,55 @@ function ValidateStateCountryField(_a) {
5769
5759
  });
5770
5760
  });
5771
5761
  }
5762
+ /*
5763
+ * This function is used to check user permission
5764
+ * @param1: permissionType, like Create/Modify/Delete/Import. permission type user has.
5765
+ * @param2: objectName, like Contact, Account etc
5766
+ * @param3:
5767
+ * @param4: db (database)
5768
+ * @param5: mdb (master DB)
5769
+ * Desc: allow user to procced, if he has access permission
5770
+ * Example: If user has Create/Modify/Delete/Import permission let him procceed else stop access.
5771
+ * Return: true/false
5772
+ */
5773
+ function CheckAccessPermissions(permissionType, objectName, msp_d, db, mdb, next) {
5774
+ return __awaiter(this, void 0, void 0, function () {
5775
+ var response, isAllowed, data, _i, _a, item, error_9;
5776
+ return __generator(this, function (_b) {
5777
+ switch (_b.label) {
5778
+ case 0:
5779
+ _b.trys.push([0, 2, , 3]);
5780
+ return [4 /*yield*/, GetUserProfile(msp_d, db, mdb, next)];
5781
+ case 1:
5782
+ response = _b.sent();
5783
+ isAllowed = true;
5784
+ data = response === null || response === void 0 ? void 0 : response.data;
5785
+ if (data && data.Permissions.length > 0) {
5786
+ for (_i = 0, _a = data.Permissions; _i < _a.length; _i++) {
5787
+ item = _a[_i];
5788
+ if (item.ModuleID.toLowerCase() == objectName.toLowerCase()) {
5789
+ if (!item.Operations.includes(permissionType)) {
5790
+ isAllowed = false;
5791
+ if (item.Operations.includes('Create-Edit'))
5792
+ isAllowed = true;
5793
+ }
5794
+ }
5795
+ }
5796
+ }
5797
+ 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.
5798
+ isAllowed = false;
5799
+ }
5800
+ return [2 /*return*/, isAllowed];
5801
+ case 2:
5802
+ error_9 = _b.sent();
5803
+ console.error("Internal Error in CheckAccessPermissions function : ".concat(error_9));
5804
+ return [3 /*break*/, 3];
5805
+ case 3: return [2 /*return*/];
5806
+ }
5807
+ });
5808
+ });
5809
+ }
5810
+ exports.CheckAccessPermissions = CheckAccessPermissions;
5772
5811
  /**
5773
5812
  * Activity Mail Template Structure
5774
5813
  * @param {string} content It is html body content sent over mail
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.394",
3
+ "version": "1.0.396",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {