@optimiser/common 1.0.230 → 1.0.234
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 +3 -1
- package/dist/lib/utility.js +97 -33
- package/package.json +1 -1
package/dist/lib/utility.d.ts
CHANGED
|
@@ -175,6 +175,8 @@ declare function GetUserProfile(msp_d: AnyObjectInterface, db: Db, mdb: Db, next
|
|
|
175
175
|
message: string;
|
|
176
176
|
data: any;
|
|
177
177
|
} | undefined>;
|
|
178
|
+
declare function CheckPageAuthentication(pageData: AnyObjectInterface, msp_d: AnyObjectInterface, db: Db, mdb: Db, next: NextFunction): Promise<boolean>;
|
|
179
|
+
declare function RemoveFieldsFromFilters(condition: AnyObjectInterface, fields: AnyObjectInterface[], identifier: string): void;
|
|
178
180
|
/**
|
|
179
181
|
* @param Error Error object
|
|
180
182
|
* @param ServiceOrigin - Error Occur in Service (Service Name)
|
|
@@ -186,4 +188,4 @@ declare function GetUserProfile(msp_d: AnyObjectInterface, db: Db, mdb: Db, next
|
|
|
186
188
|
declare function ErrorHandlerForServices(Error: OPT_ERROR, ServiceOrigin: string, EmailConfig: any, Module?: string, db?: Db): Promise<any>;
|
|
187
189
|
declare function CheckCaptcha(token: string, captcha: string, redisClient: Redis): Promise<unknown>;
|
|
188
190
|
declare function ValidateSanitizeUserInput(inputFields: AnyObjectInterface, pageData: AnyObjectInterface): Promise<AnyObjectInterface[] | undefined>;
|
|
189
|
-
export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, BuildLookupDataField, CheckDataBeforeAdd, CheckDataBeforeUpdate, BuildGridFieldProjection, BuildFieldProjection, BuildLookupFieldProjection, FilterConditions, GirdHeaderFilters, 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, GetUserProfile, ErrorHandlerForServices, CheckCaptcha, ValidateSanitizeUserInput };
|
|
191
|
+
export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, BuildLookupDataField, CheckDataBeforeAdd, CheckDataBeforeUpdate, BuildGridFieldProjection, BuildFieldProjection, BuildLookupFieldProjection, FilterConditions, GirdHeaderFilters, 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, ValidateSanitizeUserInput };
|
package/dist/lib/utility.js
CHANGED
|
@@ -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.ValidateSanitizeUserInput = exports.CheckCaptcha = exports.ErrorHandlerForServices = exports.GetUserProfile = 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.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.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.ValidateSanitizeUserInput = 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.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.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");
|
|
@@ -185,11 +185,10 @@ function CheckUserProfileField(pageData, profileData) {
|
|
|
185
185
|
exports.CheckUserProfileField = CheckUserProfileField;
|
|
186
186
|
function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
|
|
187
187
|
db.collection("Page").findOne({ 'PageName': pageName }, function (err, pageData) {
|
|
188
|
-
var _a, _b;
|
|
189
188
|
return __awaiter(this, void 0, void 0, function () {
|
|
190
|
-
var hasAccess
|
|
191
|
-
return __generator(this, function (
|
|
192
|
-
switch (
|
|
189
|
+
var hasAccess;
|
|
190
|
+
return __generator(this, function (_a) {
|
|
191
|
+
switch (_a.label) {
|
|
193
192
|
case 0:
|
|
194
193
|
if (err) {
|
|
195
194
|
next(err);
|
|
@@ -198,40 +197,16 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
|
|
|
198
197
|
callback(pageData);
|
|
199
198
|
return [2 /*return*/];
|
|
200
199
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
hasAccess =
|
|
204
|
-
return [3 /*break*/, 3];
|
|
205
|
-
case 1: return [4 /*yield*/, GetUserProfile(msp_d, db, mdb, next)];
|
|
206
|
-
case 2:
|
|
207
|
-
response = _c.sent();
|
|
208
|
-
if (response && response.message == 'success') {
|
|
209
|
-
userProfile = response.data;
|
|
210
|
-
auth = userProfile.Permissions;
|
|
211
|
-
for (i = 0; i < auth.length; i++) {
|
|
212
|
-
moduleData = auth[i].ModuleData;
|
|
213
|
-
if (moduleData) {
|
|
214
|
-
if (((_a = moduleData.Objects) === null || _a === void 0 ? void 0 : _a.indexOf(pageData.ObjectName)) >= 0 || ((_b = moduleData.Pages) === null || _b === void 0 ? void 0 : _b.indexOf(pageData.PageName)) >= 0) {
|
|
215
|
-
hasAccess = true;
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
console.log(response === null || response === void 0 ? void 0 : response.message);
|
|
223
|
-
callback('Unauthorised');
|
|
224
|
-
}
|
|
225
|
-
_c.label = 3;
|
|
226
|
-
case 3:
|
|
227
|
-
// ** Ends ** //
|
|
200
|
+
return [4 /*yield*/, CheckPageAuthentication(pageData, msp_d, db, mdb, next)];
|
|
201
|
+
case 1:
|
|
202
|
+
hasAccess = _a.sent();
|
|
228
203
|
if (!hasAccess) {
|
|
229
204
|
callback('Unauthorised');
|
|
230
205
|
}
|
|
231
206
|
else {
|
|
232
207
|
db.collection("ObjectSchema").findOne({ 'Name': pageData.ObjectName }, function (err, objectData) {
|
|
233
208
|
return __awaiter(this, void 0, void 0, function () {
|
|
234
|
-
var _loop_2, i, g, group, childObjectSchema, _loop_3, i, _loop_4, i;
|
|
209
|
+
var removeFieldsFromFilter, j, filterData, _loop_2, i, g, group, childObjectSchema, _loop_3, i, _loop_4, i, idObject, idObject_1;
|
|
235
210
|
return __generator(this, function (_a) {
|
|
236
211
|
switch (_a.label) {
|
|
237
212
|
case 0:
|
|
@@ -239,6 +214,14 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
|
|
|
239
214
|
next(err);
|
|
240
215
|
}
|
|
241
216
|
pageData["ObjectSchema"] = objectData;
|
|
217
|
+
removeFieldsFromFilter = objectData.Fields.filter(function (f) { return f.IsFilter == false; }).map(function (fld) { return fld.Name; });
|
|
218
|
+
if (removeFieldsFromFilter && pageData.ListViewFilters && removeFieldsFromFilter.length > 0 && pageData.ListViewFilters.length > 0) {
|
|
219
|
+
for (j = 0; j < pageData.ListViewFilters.length; j++) {
|
|
220
|
+
filterData = pageData.ListViewFilters[j];
|
|
221
|
+
RemoveFieldsFromFilters(filterData.Conditions, removeFieldsFromFilter, 'Name');
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//** Ends */
|
|
242
225
|
if (pageData.Fields != undefined) {
|
|
243
226
|
_loop_2 = function (i) {
|
|
244
227
|
var fld = pageData.Fields[i];
|
|
@@ -294,6 +277,34 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
|
|
|
294
277
|
g++;
|
|
295
278
|
return [3 /*break*/, 1];
|
|
296
279
|
case 5:
|
|
280
|
+
if (pageData.Fields && pageData.Type == "ObjectGrid") {
|
|
281
|
+
idObject = {
|
|
282
|
+
Name: "_id",
|
|
283
|
+
Schema: { Name: "_id", DisplayName: "ID", ApiName: "ID", UIDataType: "objectid" },
|
|
284
|
+
Sequence: 0,
|
|
285
|
+
UniqueID: "_id",
|
|
286
|
+
DisplayName: "ID",
|
|
287
|
+
Width: 100
|
|
288
|
+
};
|
|
289
|
+
pageData.Fields.splice(0, 0, idObject);
|
|
290
|
+
}
|
|
291
|
+
if (pageData.Fields && pageData.Type == "ObjectDetail") {
|
|
292
|
+
idObject_1 = {
|
|
293
|
+
Name: "_id",
|
|
294
|
+
Sequence: 0,
|
|
295
|
+
UIDataType: "objectid",
|
|
296
|
+
UniqueID: "_id",
|
|
297
|
+
DisplayName: "ID"
|
|
298
|
+
};
|
|
299
|
+
pageData.Fields == pageData.Fields.map(function (s) {
|
|
300
|
+
if (s.Schema && s.Schema.UIDataType == "collection") {
|
|
301
|
+
s.Schema.Fields.splice(0, 0, idObject_1);
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
s;
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
}
|
|
297
308
|
callback(pageData);
|
|
298
309
|
return [2 /*return*/];
|
|
299
310
|
}
|
|
@@ -2034,6 +2045,8 @@ function GirdHeaderFilters(filters, fields) {
|
|
|
2034
2045
|
matchValue = { '$eq': parseInt(obj.Value) };
|
|
2035
2046
|
else if (["decimal", "percent"].includes(field.Schema.UIDataType))
|
|
2036
2047
|
matchValue = { '$eq': mongodb_1.Decimal128.fromString(obj.Value) };
|
|
2048
|
+
else if (field.Schema.UIDataType == 'objectid')
|
|
2049
|
+
matchValue = { '$eq': obj.Value };
|
|
2037
2050
|
else
|
|
2038
2051
|
matchValue = { '$regex': obj.Value.trim().replace(/[-[\]{}()*+?.,\\/^$|#\s]/g, "\\$&"), '$options': 'i' };
|
|
2039
2052
|
var fieldMatch = {};
|
|
@@ -3764,6 +3777,57 @@ function GetUserProfile(msp_d, db, mdb, next) {
|
|
|
3764
3777
|
});
|
|
3765
3778
|
}
|
|
3766
3779
|
exports.GetUserProfile = GetUserProfile;
|
|
3780
|
+
function CheckPageAuthentication(pageData, msp_d, db, mdb, next) {
|
|
3781
|
+
var _a, _b;
|
|
3782
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
3783
|
+
var hasAccess, response, userProfile, auth, i, moduleData;
|
|
3784
|
+
return __generator(this, function (_c) {
|
|
3785
|
+
switch (_c.label) {
|
|
3786
|
+
case 0:
|
|
3787
|
+
hasAccess = false;
|
|
3788
|
+
if (!(pageData.IsPermissionRequired == false)) return [3 /*break*/, 1];
|
|
3789
|
+
hasAccess = true;
|
|
3790
|
+
return [3 /*break*/, 3];
|
|
3791
|
+
case 1: return [4 /*yield*/, GetUserProfile(msp_d, db, mdb, next)];
|
|
3792
|
+
case 2:
|
|
3793
|
+
response = _c.sent();
|
|
3794
|
+
if (response && response.message == 'success') {
|
|
3795
|
+
userProfile = response.data;
|
|
3796
|
+
auth = userProfile.Permissions;
|
|
3797
|
+
for (i = 0; i < auth.length; i++) {
|
|
3798
|
+
moduleData = auth[i].ModuleData;
|
|
3799
|
+
if (moduleData) {
|
|
3800
|
+
if (((_a = moduleData.Objects) === null || _a === void 0 ? void 0 : _a.indexOf(pageData.ObjectName)) >= 0 || ((_b = moduleData.Pages) === null || _b === void 0 ? void 0 : _b.indexOf(pageData.PageName)) >= 0) {
|
|
3801
|
+
hasAccess = true;
|
|
3802
|
+
break;
|
|
3803
|
+
}
|
|
3804
|
+
}
|
|
3805
|
+
}
|
|
3806
|
+
}
|
|
3807
|
+
else {
|
|
3808
|
+
console.log(response === null || response === void 0 ? void 0 : response.message);
|
|
3809
|
+
}
|
|
3810
|
+
_c.label = 3;
|
|
3811
|
+
case 3: return [2 /*return*/, hasAccess];
|
|
3812
|
+
}
|
|
3813
|
+
});
|
|
3814
|
+
});
|
|
3815
|
+
}
|
|
3816
|
+
exports.CheckPageAuthentication = CheckPageAuthentication;
|
|
3817
|
+
function RemoveFieldsFromFilters(condition, fields, identifier) {
|
|
3818
|
+
if (condition != undefined && condition.Filters.length > 0) {
|
|
3819
|
+
fields.forEach(function (fld) {
|
|
3820
|
+
condition.Filters = condition.Filters.filter(function (fltr) { return fltr[identifier] !== fld; });
|
|
3821
|
+
});
|
|
3822
|
+
for (var i = 0; i < condition.Filters.length; i++) {
|
|
3823
|
+
var objFilter = condition.Filters[i];
|
|
3824
|
+
if (objFilter.Type == "Child") {
|
|
3825
|
+
RemoveFieldsFromFilters(objFilter, fields, identifier);
|
|
3826
|
+
}
|
|
3827
|
+
}
|
|
3828
|
+
}
|
|
3829
|
+
}
|
|
3830
|
+
exports.RemoveFieldsFromFilters = RemoveFieldsFromFilters;
|
|
3767
3831
|
/**
|
|
3768
3832
|
* @param Error Error object
|
|
3769
3833
|
* @param ServiceOrigin - Error Occur in Service (Service Name)
|