@optimiser/common 1.0.230 → 1.0.231

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.
@@ -175,6 +175,7 @@ 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>;
178
179
  /**
179
180
  * @param Error Error object
180
181
  * @param ServiceOrigin - Error Occur in Service (Service Name)
@@ -186,4 +187,4 @@ declare function GetUserProfile(msp_d: AnyObjectInterface, db: Db, mdb: Db, next
186
187
  declare function ErrorHandlerForServices(Error: OPT_ERROR, ServiceOrigin: string, EmailConfig: any, Module?: string, db?: Db): Promise<any>;
187
188
  declare function CheckCaptcha(token: string, captcha: string, redisClient: Redis): Promise<unknown>;
188
189
  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 };
190
+ 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, CheckPageAuthentication, ErrorHandlerForServices, CheckCaptcha, ValidateSanitizeUserInput };
@@ -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.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, response, userProfile, auth, i, moduleData;
191
- return __generator(this, function (_c) {
192
- switch (_c.label) {
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
- hasAccess = false;
202
- if (!(pageData.IsPermissionRequired == false)) return [3 /*break*/, 1];
203
- hasAccess = true;
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 _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:
@@ -294,6 +269,34 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
294
269
  g++;
295
270
  return [3 /*break*/, 1];
296
271
  case 5:
272
+ if (pageData.Fields && pageData.Type == "ObjectGrid") {
273
+ idObject = {
274
+ Name: "_id",
275
+ Schema: { Name: "_id", DisplayName: "ID", ApiName: "ID", UIDataType: "objectid" },
276
+ Sequence: 0,
277
+ UniqueID: "_id",
278
+ DisplayName: "ID",
279
+ Width: 100
280
+ };
281
+ pageData.Fields.splice(0, 0, idObject);
282
+ }
283
+ if (pageData.Fields && pageData.Type == "ObjectDetail") {
284
+ idObject_1 = {
285
+ Name: "_id",
286
+ Sequence: 0,
287
+ UIDataType: "objectid",
288
+ UniqueID: "_id",
289
+ DisplayName: "ID"
290
+ };
291
+ pageData.Fields == pageData.Fields.map(function (s) {
292
+ if (s.Schema && s.Schema.UIDataType == "collection") {
293
+ s.Schema.Fields.splice(0, 0, idObject_1);
294
+ }
295
+ else {
296
+ s;
297
+ }
298
+ });
299
+ }
297
300
  callback(pageData);
298
301
  return [2 /*return*/];
299
302
  }
@@ -2034,6 +2037,8 @@ function GirdHeaderFilters(filters, fields) {
2034
2037
  matchValue = { '$eq': parseInt(obj.Value) };
2035
2038
  else if (["decimal", "percent"].includes(field.Schema.UIDataType))
2036
2039
  matchValue = { '$eq': mongodb_1.Decimal128.fromString(obj.Value) };
2040
+ else if (field.Schema.UIDataType == 'objectid')
2041
+ matchValue = { '$eq': obj.Value };
2037
2042
  else
2038
2043
  matchValue = { '$regex': obj.Value.trim().replace(/[-[\]{}()*+?.,\\/^$|#\s]/g, "\\$&"), '$options': 'i' };
2039
2044
  var fieldMatch = {};
@@ -3764,6 +3769,43 @@ function GetUserProfile(msp_d, db, mdb, next) {
3764
3769
  });
3765
3770
  }
3766
3771
  exports.GetUserProfile = GetUserProfile;
3772
+ function CheckPageAuthentication(pageData, msp_d, db, mdb, next) {
3773
+ var _a, _b;
3774
+ return __awaiter(this, void 0, void 0, function () {
3775
+ var hasAccess, response, userProfile, auth, i, moduleData;
3776
+ return __generator(this, function (_c) {
3777
+ switch (_c.label) {
3778
+ case 0:
3779
+ hasAccess = false;
3780
+ if (!(pageData.IsPermissionRequired == false)) return [3 /*break*/, 1];
3781
+ hasAccess = true;
3782
+ return [3 /*break*/, 3];
3783
+ case 1: return [4 /*yield*/, GetUserProfile(msp_d, db, mdb, next)];
3784
+ case 2:
3785
+ response = _c.sent();
3786
+ if (response && response.message == 'success') {
3787
+ userProfile = response.data;
3788
+ auth = userProfile.Permissions;
3789
+ for (i = 0; i < auth.length; i++) {
3790
+ moduleData = auth[i].ModuleData;
3791
+ if (moduleData) {
3792
+ 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) {
3793
+ hasAccess = true;
3794
+ break;
3795
+ }
3796
+ }
3797
+ }
3798
+ }
3799
+ else {
3800
+ console.log(response === null || response === void 0 ? void 0 : response.message);
3801
+ }
3802
+ _c.label = 3;
3803
+ case 3: return [2 /*return*/, hasAccess];
3804
+ }
3805
+ });
3806
+ });
3807
+ }
3808
+ exports.CheckPageAuthentication = CheckPageAuthentication;
3767
3809
  /**
3768
3810
  * @param Error Error object
3769
3811
  * @param ServiceOrigin - Error Occur in Service (Service Name)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.230",
3
+ "version": "1.0.231",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {