@optimiser/common 1.0.239 → 1.0.243

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.
@@ -87,7 +87,7 @@ declare function GetIPDetailsFromReq(req: Express.Request): Promise<{
87
87
  */
88
88
  declare function ReturnJsonResponse(res: Response, params: ResponseStructure): void;
89
89
  declare function CheckForWhiteListedDomain(req: Express.Request, whiteListedDomain: Array<string>): boolean;
90
- declare function SyncListSchemaFieldInOtherCollection(syncFields: AnyObjectInterface, db: Db): Promise<void>;
90
+ declare function SyncListSchemaFieldInOtherCollection(syncFields: AnyObjectInterface, db: Db, msp_d: AnyObjectInterface): Promise<void>;
91
91
  declare function UpdateTagCountAfterDelete(objectids: ObjectId[], objectName: string, db: Db, params?: AnyObjectInterface): Promise<void>;
92
92
  declare function SyncTagCountAfterUpdate(objectName: string, db: Db): void;
93
93
  declare function SyncUserLicenceConsumedCount(msp_d: AnyObjectInterface, db: Db, dbMaster: Db): Promise<void>;
@@ -197,5 +197,5 @@ declare function ValidateSanitizeUserInput(inputFields: AnyObjectInterface, page
197
197
  * @param next middleware for error handling
198
198
  * @return N/A
199
199
  */
200
- declare const CreateBanquetingVATSettingsData: (msp_d: AnyObjectInterface, db: Db, sdata: AnyObjectInterface, next: NextFunction) => Promise<void>;
200
+ declare function CreateBanquetingVATSettingsData(msp_d: AnyObjectInterface, db: Db, sdata: AnyObjectInterface, next: NextFunction): Promise<void>;
201
201
  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, CreateBanquetingVATSettingsData };
@@ -206,7 +206,7 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
206
206
  else {
207
207
  db.collection("ObjectSchema").findOne({ 'Name': pageData.ObjectName }, function (err, objectData) {
208
208
  return __awaiter(this, void 0, void 0, function () {
209
- var removeFieldsFromFilter, j, filterData, _loop_2, i, g, group, childObjectSchema, _loop_3, i, _loop_4, i, createdByObj, modByObj, createdDateObj, modDateObj, idObject, idObject_1;
209
+ var removeFieldsFromFilter, j, filterData, _loop_2, i, createdByObj, modByObj, createdDateObj, modDateObj, g, group, childObjectSchema, _loop_3, i, _loop_4, i, idObject, idObject_1;
210
210
  return __generator(this, function (_a) {
211
211
  switch (_a.label) {
212
212
  case 0:
@@ -236,47 +236,6 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
236
236
  _loop_2(i);
237
237
  }
238
238
  }
239
- if (!(pageData.Groups != undefined)) return [3 /*break*/, 5];
240
- g = 0;
241
- _a.label = 1;
242
- case 1:
243
- if (!(g < pageData.Groups.length)) return [3 /*break*/, 5];
244
- group = pageData.Groups[g];
245
- if (!group.IsRealLookup) return [3 /*break*/, 3];
246
- return [4 /*yield*/, db.collection('ObjectSchema').findOne({ 'Name': group.ChildObject })];
247
- case 2:
248
- childObjectSchema = _a.sent();
249
- _loop_3 = function (i) {
250
- var fld = group.Fields[i];
251
- var fldSchema = childObjectSchema.Fields.find(function (x) { return x.Name == fld.Name; });
252
- if (fldSchema) {
253
- fld.Schema = fldSchema;
254
- fld.ObjectName = group.ChildObject;
255
- fld.UniqueID = group.Name + '.' + fld.Name;
256
- }
257
- };
258
- for (i = 0; i < group.Fields.length; i++) {
259
- _loop_3(i);
260
- }
261
- return [3 /*break*/, 4];
262
- case 3:
263
- _loop_4 = function (i) {
264
- var fld = group.Fields[i];
265
- var fldSchema = objectData.Fields.find(function (x) { return x.Name == fld.Name; });
266
- if (fldSchema) {
267
- fld.Schema = fldSchema;
268
- fld.ObjectName = pageData.ObjectName;
269
- fld.UniqueID = fld.Name;
270
- }
271
- };
272
- for (i = 0; i < group.Fields.length; i++) {
273
- _loop_4(i);
274
- }
275
- _a.label = 4;
276
- case 4:
277
- g++;
278
- return [3 /*break*/, 1];
279
- case 5:
280
239
  createdByObj = {
281
240
  Name: "CreatedBy",
282
241
  DisplayName: "Created By",
@@ -353,6 +312,73 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
353
312
  UIDataType: "datetime"
354
313
  }
355
314
  };
315
+ if (!(pageData.Groups != undefined)) return [3 /*break*/, 5];
316
+ g = 0;
317
+ _a.label = 1;
318
+ case 1:
319
+ if (!(g < pageData.Groups.length)) return [3 /*break*/, 5];
320
+ group = pageData.Groups[g];
321
+ if (!group.IsRealLookup) return [3 /*break*/, 3];
322
+ return [4 /*yield*/, db.collection('ObjectSchema').findOne({ 'Name': group.ChildObject })];
323
+ case 2:
324
+ childObjectSchema = _a.sent();
325
+ _loop_3 = function (i) {
326
+ var fld = group.Fields[i];
327
+ var fldSchema = childObjectSchema.Fields.find(function (x) { return x.Name == fld.Name; });
328
+ if (fldSchema) {
329
+ fld.Schema = fldSchema;
330
+ fld.ObjectName = group.ChildObject;
331
+ fld.UniqueID = group.Name + '.' + fld.Name;
332
+ if (pageData.Type == "ObjectDetail" && fldSchema.UIDataType == "collection") { // By Kashish - To handle System Fields in Group Collection Field
333
+ if (fld.Schema && fld.Schema.Fields.length > 0) {
334
+ fld.Schema.Fields.splice(0, 0, {
335
+ Name: "_id",
336
+ Sequence: 0,
337
+ UIDataType: "objectid",
338
+ UniqueID: "_id",
339
+ DisplayName: "ID",
340
+ HideON: "both"
341
+ });
342
+ fld.Schema.Fields.splice(fld.Schema.Fields.length, null, createdByObj.Schema, createdDateObj.Schema, modByObj.Schema, modDateObj.Schema);
343
+ }
344
+ }
345
+ }
346
+ };
347
+ for (i = 0; i < group.Fields.length; i++) {
348
+ _loop_3(i);
349
+ }
350
+ return [3 /*break*/, 4];
351
+ case 3:
352
+ _loop_4 = function (i) {
353
+ var fld = group.Fields[i];
354
+ var fldSchema = objectData.Fields.find(function (x) { return x.Name == fld.Name; });
355
+ if (fldSchema) {
356
+ fld.Schema = fldSchema;
357
+ fld.ObjectName = pageData.ObjectName;
358
+ fld.UniqueID = fld.Name;
359
+ if (pageData.Type == "ObjectDetail" && fldSchema.UIDataType == "collection") { // By Kashish - To handle System Fields in Group Collection Field
360
+ if (fld.Schema && fld.Schema.Fields.length > 0) {
361
+ fld.Schema.Fields.splice(0, 0, {
362
+ Name: "_id",
363
+ Sequence: 0,
364
+ UIDataType: "objectid",
365
+ UniqueID: "_id",
366
+ DisplayName: "ID",
367
+ HideON: "both"
368
+ });
369
+ fld.Schema.Fields.splice(fld.Schema.Fields.length, null, createdByObj.Schema, createdDateObj.Schema, modByObj.Schema, modDateObj.Schema);
370
+ }
371
+ }
372
+ }
373
+ };
374
+ for (i = 0; i < group.Fields.length; i++) {
375
+ _loop_4(i);
376
+ }
377
+ _a.label = 4;
378
+ case 4:
379
+ g++;
380
+ return [3 /*break*/, 1];
381
+ case 5:
356
382
  if (pageData.Fields && pageData.Type == "ObjectGrid") {
357
383
  idObject = {
358
384
  Name: "_id",
@@ -387,7 +413,7 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
387
413
  s.Schema.Fields.splice(0, 0, idObject_1);
388
414
  //By Kashish : To handle System Info Fields
389
415
  if (createdByObj && createdDateObj && modByObj && modDateObj) {
390
- s.Schema.Fields.splice(-1, 0, createdByObj.Schema, createdDateObj.Schema, modByObj.Schema, modDateObj.Schema);
416
+ s.Schema.Fields.splice(s.Schema.Fields.length, null, createdByObj.Schema, createdDateObj.Schema, modByObj.Schema, modDateObj.Schema);
391
417
  }
392
418
  }
393
419
  });
@@ -3136,7 +3162,7 @@ function CheckForWhiteListedDomain(req, whiteListedDomain) {
3136
3162
  }
3137
3163
  exports.CheckForWhiteListedDomain = CheckForWhiteListedDomain;
3138
3164
  //Sync list schema field in other collection after update
3139
- function SyncListSchemaFieldInOtherCollection(syncFields, db) {
3165
+ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
3140
3166
  var _this = this;
3141
3167
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
3142
3168
  var listSchemaName, querys;
@@ -3157,67 +3183,86 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db) {
3157
3183
  }
3158
3184
  ]).toArray(function (err, data) {
3159
3185
  return __awaiter(this, void 0, void 0, function () {
3160
- var i, obj, query, alias, i, query;
3186
+ var modifiedObj, _i, data_1, obj, query, schemaData, fieldSchema, alias, i, query;
3161
3187
  var _a, _b, _c, _d, _e, _f;
3162
3188
  return __generator(this, function (_g) {
3163
3189
  switch (_g.label) {
3164
3190
  case 0:
3165
- if (!(data.length > 0)) return [3 /*break*/, 6];
3166
- for (i = 0; i < data.length; i++) {
3167
- obj = data[i];
3168
- query = {
3169
- ObjectName: obj.Name
3170
- };
3171
- if (obj.Fields.ListSchemaName == syncFields.ListSchemaName || (obj.Fields.IsMultipleListSchemaName && obj.Fields.ListSchemaName.includes(syncFields.ListSchemaName))) {
3172
- alias = obj.Fields.Name + constants_1.default.LookupAlias;
3173
- query.match = (_a = {},
3174
- _a[obj.Fields.Name] = syncFields.ListKey,
3175
- _a);
3176
- if (obj.Fields.UIDataType == 'multiselect') {
3177
- if (syncFields.IsDeleteValue)
3178
- query.set = (_b = {}, _b[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].IsActive'] = false, _b);
3179
- else
3180
- query.set = (_c = {}, _c[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].Value'] = syncFields.Value, _c);
3181
- query.arrayFilters = (_d = {},
3182
- _d['e.Key'] = syncFields.ListKey,
3183
- _d);
3184
- }
3185
- else {
3186
- if (syncFields.IsDeleteValue)
3187
- query.set = (_e = {}, _e[alias + '.IsActive'] = false, _e);
3188
- else
3189
- query.set = (_f = {}, _f[alias + '.Value'] = syncFields.Value, _f);
3190
- }
3191
+ if (!(data.length > 0)) return [3 /*break*/, 11];
3192
+ modifiedObj = {
3193
+ ModifiedBy: new mongodb_1.ObjectId(msp_d.ui),
3194
+ ModifiedDate: new Date()
3195
+ };
3196
+ _i = 0, data_1 = data;
3197
+ _g.label = 1;
3198
+ case 1:
3199
+ if (!(_i < data_1.length)) return [3 /*break*/, 5];
3200
+ obj = data_1[_i];
3201
+ query = {
3202
+ ObjectName: obj.Name
3203
+ };
3204
+ return [4 /*yield*/, db.collection('ObjectSchema').findOne({ Name: query.ObjectName })];
3205
+ case 2:
3206
+ schemaData = _g.sent();
3207
+ fieldSchema = schemaData.Fields.find(function (x) { return x.Name == 'ModifiedBy'; });
3208
+ return [4 /*yield*/, BuildLookupDataField(fieldSchema, modifiedObj, db)];
3209
+ case 3:
3210
+ _g.sent();
3211
+ if (obj.Fields.ListSchemaName == syncFields.ListSchemaName || (obj.Fields.IsMultipleListSchemaName && obj.Fields.ListSchemaName.includes(syncFields.ListSchemaName))) {
3212
+ alias = obj.Fields.Name + constants_1.default.LookupAlias;
3213
+ query.match = (_a = {},
3214
+ _a[obj.Fields.Name] = syncFields.ListKey,
3215
+ _a);
3216
+ if (obj.Fields.UIDataType == 'multiselect') {
3217
+ if (syncFields.IsDeleteValue)
3218
+ query.set = (_b = {}, _b[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].IsActive'] = false, _b);
3219
+ else
3220
+ query.set = (_c = {}, _c[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].Value'] = syncFields.Value, _c);
3221
+ query.arrayFilters = (_d = {},
3222
+ _d['e.Key'] = syncFields.ListKey,
3223
+ _d);
3191
3224
  }
3192
- if (query.set && query.match) {
3193
- querys.push(query);
3225
+ else {
3226
+ if (syncFields.IsDeleteValue)
3227
+ query.set = (_e = {}, _e[alias + '.IsActive'] = false, _e);
3228
+ else
3229
+ query.set = (_f = {}, _f[alias + '.Value'] = syncFields.Value, _f);
3194
3230
  }
3231
+ query.set = __assign(__assign({}, query.set), modifiedObj);
3195
3232
  }
3196
- if (!(querys.length > 0)) return [3 /*break*/, 6];
3233
+ if (query.set && query.match) {
3234
+ querys.push(query);
3235
+ }
3236
+ _g.label = 4;
3237
+ case 4:
3238
+ _i++;
3239
+ return [3 /*break*/, 1];
3240
+ case 5:
3241
+ if (!(querys.length > 0)) return [3 /*break*/, 11];
3197
3242
  i = 0;
3198
- _g.label = 1;
3199
- case 1:
3200
- if (!(i < querys.length)) return [3 /*break*/, 6];
3243
+ _g.label = 6;
3244
+ case 6:
3245
+ if (!(i < querys.length)) return [3 /*break*/, 11];
3201
3246
  query = querys[i];
3202
- if (!(query.arrayFilters !== undefined)) return [3 /*break*/, 3];
3247
+ if (!(query.arrayFilters !== undefined)) return [3 /*break*/, 8];
3203
3248
  return [4 /*yield*/, db.collection(query.ObjectName).updateMany(query.match, {
3204
3249
  $set: query.set
3205
3250
  }, {
3206
3251
  arrayFilters: [query.arrayFilters]
3207
3252
  })];
3208
- case 2:
3253
+ case 7:
3209
3254
  _g.sent();
3210
- return [3 /*break*/, 5];
3211
- case 3: return [4 /*yield*/, db.collection(query.ObjectName).updateMany(query.match, {
3255
+ return [3 /*break*/, 10];
3256
+ case 8: return [4 /*yield*/, db.collection(query.ObjectName).updateMany(query.match, {
3212
3257
  $set: query.set
3213
3258
  })];
3214
- case 4:
3259
+ case 9:
3215
3260
  _g.sent();
3216
- _g.label = 5;
3217
- case 5:
3261
+ _g.label = 10;
3262
+ case 10:
3218
3263
  i++;
3219
- return [3 /*break*/, 1];
3220
- case 6:
3264
+ return [3 /*break*/, 6];
3265
+ case 11:
3221
3266
  resolve();
3222
3267
  return [2 /*return*/];
3223
3268
  }
@@ -4097,7 +4142,7 @@ exports.ValidateSanitizeUserInput = ValidateSanitizeUserInput;
4097
4142
  * @param next middleware for error handling
4098
4143
  * @return N/A
4099
4144
  */
4100
- var CreateBanquetingVATSettingsData = function (msp_d, db, sdata, next) {
4145
+ function CreateBanquetingVATSettingsData(msp_d, db, sdata, next) {
4101
4146
  return __awaiter(this, void 0, void 0, function () {
4102
4147
  var userID, schemaData, _i, _a, field, error_6;
4103
4148
  return __generator(this, function (_b) {
@@ -4110,6 +4155,7 @@ var CreateBanquetingVATSettingsData = function (msp_d, db, sdata, next) {
4110
4155
  schemaData = _b.sent();
4111
4156
  sdata['CreatedBy'] = userID;
4112
4157
  sdata['CreatedDate'] = new Date();
4158
+ sdata['OwnerID'] = userID;
4113
4159
  sdata['IsActive'] = true;
4114
4160
  _i = 0, _a = schemaData.Fields;
4115
4161
  _b.label = 2;
@@ -4132,5 +4178,5 @@ var CreateBanquetingVATSettingsData = function (msp_d, db, sdata, next) {
4132
4178
  }
4133
4179
  });
4134
4180
  });
4135
- };
4181
+ }
4136
4182
  exports.CreateBanquetingVATSettingsData = CreateBanquetingVATSettingsData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.239",
3
+ "version": "1.0.243",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {