@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.
- package/dist/lib/utility.d.ts +2 -1
- package/dist/lib/utility.js +51 -12
- package/package.json +1 -1
package/dist/lib/utility.d.ts
CHANGED
|
@@ -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
|
-
|
|
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 };
|
package/dist/lib/utility.js
CHANGED
|
@@ -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
|
-
|
|
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
|