@optimiser/common 1.0.237 → 1.0.241

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>;
@@ -188,4 +188,14 @@ declare function RemoveFieldsFromFilters(condition: AnyObjectInterface, fields:
188
188
  declare function ErrorHandlerForServices(Error: OPT_ERROR, ServiceOrigin: string, EmailConfig: any, Module?: string, db?: Db): Promise<any>;
189
189
  declare function CheckCaptcha(token: string, captcha: string, redisClient: Redis): Promise<unknown>;
190
190
  declare function ValidateSanitizeUserInput(inputFields: AnyObjectInterface, pageData: AnyObjectInterface): Promise<AnyObjectInterface[] | undefined>;
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 };
191
+ /**
192
+ * TODO: Create lookup of fields of list schema for Vat Setting data
193
+ *
194
+ * @param {object} msp_d Contains user information
195
+ * @param {object} db Database connection object
196
+ * @param {object} sdata contains vat setting data including list schema
197
+ * @param next middleware for error handling
198
+ * @return N/A
199
+ */
200
+ declare function CreateBanquetingVATSettingsData(msp_d: AnyObjectInterface, db: Db, sdata: AnyObjectInterface, next: NextFunction): Promise<void>;
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 };
@@ -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.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;
83
+ exports.CreateBanquetingVATSettingsData = 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");
@@ -366,7 +366,7 @@ function GetPageFieldData(pageName, db, mdb, msp_d, next, callback) {
366
366
  //By Kashish : To handle System Info Fields in Grid
367
367
  if (!pageData.Fields.find(function (x) { return x.Name == 'CreatedBy'; }) && !['CompanySessionLogList', 'CompanyTransactionLogsList'].includes(pageData.PageName) && pageData.ObjectName != 'Task')
368
368
  pageData.Fields.push(createdByObj);
369
- if (!pageData.Fields.find(function (x) { return x.Name == 'CreatedDate'; }))
369
+ if (!pageData.Fields.find(function (x) { return x.Name == 'CreatedDate'; }) && !['CompanySessionLogList', 'CompanyTransactionLogsList'].includes(pageData.PageName))
370
370
  pageData.Fields.push(createdDateObj);
371
371
  if (!pageData.Fields.find(function (x) { return x.Name == 'ModifiedBy'; }) && !['CompanySessionLogList', 'CompanyTransactionLogsList'].includes(pageData.PageName))
372
372
  pageData.Fields.push(modByObj);
@@ -3136,7 +3136,7 @@ function CheckForWhiteListedDomain(req, whiteListedDomain) {
3136
3136
  }
3137
3137
  exports.CheckForWhiteListedDomain = CheckForWhiteListedDomain;
3138
3138
  //Sync list schema field in other collection after update
3139
- function SyncListSchemaFieldInOtherCollection(syncFields, db) {
3139
+ function SyncListSchemaFieldInOtherCollection(syncFields, db, msp_d) {
3140
3140
  var _this = this;
3141
3141
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
3142
3142
  var listSchemaName, querys;
@@ -3157,67 +3157,86 @@ function SyncListSchemaFieldInOtherCollection(syncFields, db) {
3157
3157
  }
3158
3158
  ]).toArray(function (err, data) {
3159
3159
  return __awaiter(this, void 0, void 0, function () {
3160
- var i, obj, query, alias, i, query;
3160
+ var modifiedObj, _i, data_1, obj, query, schemaData, fieldSchema, alias, i, query;
3161
3161
  var _a, _b, _c, _d, _e, _f;
3162
3162
  return __generator(this, function (_g) {
3163
3163
  switch (_g.label) {
3164
3164
  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
- }
3165
+ if (!(data.length > 0)) return [3 /*break*/, 11];
3166
+ modifiedObj = {
3167
+ ModifiedBy: new mongodb_1.ObjectId(msp_d.ui),
3168
+ ModifiedDate: new Date()
3169
+ };
3170
+ _i = 0, data_1 = data;
3171
+ _g.label = 1;
3172
+ case 1:
3173
+ if (!(_i < data_1.length)) return [3 /*break*/, 5];
3174
+ obj = data_1[_i];
3175
+ query = {
3176
+ ObjectName: obj.Name
3177
+ };
3178
+ return [4 /*yield*/, db.collection('ObjectSchema').findOne({ Name: query.ObjectName })];
3179
+ case 2:
3180
+ schemaData = _g.sent();
3181
+ fieldSchema = schemaData.Fields.find(function (x) { return x.Name == 'ModifiedBy'; });
3182
+ return [4 /*yield*/, BuildLookupDataField(fieldSchema, modifiedObj, db)];
3183
+ case 3:
3184
+ _g.sent();
3185
+ if (obj.Fields.ListSchemaName == syncFields.ListSchemaName || (obj.Fields.IsMultipleListSchemaName && obj.Fields.ListSchemaName.includes(syncFields.ListSchemaName))) {
3186
+ alias = obj.Fields.Name + constants_1.default.LookupAlias;
3187
+ query.match = (_a = {},
3188
+ _a[obj.Fields.Name] = syncFields.ListKey,
3189
+ _a);
3190
+ if (obj.Fields.UIDataType == 'multiselect') {
3191
+ if (syncFields.IsDeleteValue)
3192
+ query.set = (_b = {}, _b[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].IsActive'] = false, _b);
3193
+ else
3194
+ query.set = (_c = {}, _c[obj.Fields.Name + constants_1.default.LookupAlias + '.$[e].Value'] = syncFields.Value, _c);
3195
+ query.arrayFilters = (_d = {},
3196
+ _d['e.Key'] = syncFields.ListKey,
3197
+ _d);
3191
3198
  }
3192
- if (query.set && query.match) {
3193
- querys.push(query);
3199
+ else {
3200
+ if (syncFields.IsDeleteValue)
3201
+ query.set = (_e = {}, _e[alias + '.IsActive'] = false, _e);
3202
+ else
3203
+ query.set = (_f = {}, _f[alias + '.Value'] = syncFields.Value, _f);
3194
3204
  }
3205
+ query.set = __assign(__assign({}, query.set), modifiedObj);
3195
3206
  }
3196
- if (!(querys.length > 0)) return [3 /*break*/, 6];
3207
+ if (query.set && query.match) {
3208
+ querys.push(query);
3209
+ }
3210
+ _g.label = 4;
3211
+ case 4:
3212
+ _i++;
3213
+ return [3 /*break*/, 1];
3214
+ case 5:
3215
+ if (!(querys.length > 0)) return [3 /*break*/, 11];
3197
3216
  i = 0;
3198
- _g.label = 1;
3199
- case 1:
3200
- if (!(i < querys.length)) return [3 /*break*/, 6];
3217
+ _g.label = 6;
3218
+ case 6:
3219
+ if (!(i < querys.length)) return [3 /*break*/, 11];
3201
3220
  query = querys[i];
3202
- if (!(query.arrayFilters !== undefined)) return [3 /*break*/, 3];
3221
+ if (!(query.arrayFilters !== undefined)) return [3 /*break*/, 8];
3203
3222
  return [4 /*yield*/, db.collection(query.ObjectName).updateMany(query.match, {
3204
3223
  $set: query.set
3205
3224
  }, {
3206
3225
  arrayFilters: [query.arrayFilters]
3207
3226
  })];
3208
- case 2:
3227
+ case 7:
3209
3228
  _g.sent();
3210
- return [3 /*break*/, 5];
3211
- case 3: return [4 /*yield*/, db.collection(query.ObjectName).updateMany(query.match, {
3229
+ return [3 /*break*/, 10];
3230
+ case 8: return [4 /*yield*/, db.collection(query.ObjectName).updateMany(query.match, {
3212
3231
  $set: query.set
3213
3232
  })];
3214
- case 4:
3233
+ case 9:
3215
3234
  _g.sent();
3216
- _g.label = 5;
3217
- case 5:
3235
+ _g.label = 10;
3236
+ case 10:
3218
3237
  i++;
3219
- return [3 /*break*/, 1];
3220
- case 6:
3238
+ return [3 /*break*/, 6];
3239
+ case 11:
3221
3240
  resolve();
3222
3241
  return [2 /*return*/];
3223
3242
  }
@@ -4088,3 +4107,49 @@ function ValidateSanitizeUserInput(inputFields, pageData) {
4088
4107
  });
4089
4108
  }
4090
4109
  exports.ValidateSanitizeUserInput = ValidateSanitizeUserInput;
4110
+ /**
4111
+ * TODO: Create lookup of fields of list schema for Vat Setting data
4112
+ *
4113
+ * @param {object} msp_d Contains user information
4114
+ * @param {object} db Database connection object
4115
+ * @param {object} sdata contains vat setting data including list schema
4116
+ * @param next middleware for error handling
4117
+ * @return N/A
4118
+ */
4119
+ function CreateBanquetingVATSettingsData(msp_d, db, sdata, next) {
4120
+ return __awaiter(this, void 0, void 0, function () {
4121
+ var userID, schemaData, _i, _a, field, error_6;
4122
+ return __generator(this, function (_b) {
4123
+ switch (_b.label) {
4124
+ case 0:
4125
+ _b.trys.push([0, 6, , 7]);
4126
+ userID = new mongodb_1.ObjectID(msp_d.ui);
4127
+ return [4 /*yield*/, db.collection('ObjectSchema').findOne({ Name: "BanquetingVATSettings" })];
4128
+ case 1:
4129
+ schemaData = _b.sent();
4130
+ sdata['CreatedBy'] = userID;
4131
+ sdata['CreatedDate'] = new Date();
4132
+ sdata['IsActive'] = true;
4133
+ _i = 0, _a = schemaData.Fields;
4134
+ _b.label = 2;
4135
+ case 2:
4136
+ if (!(_i < _a.length)) return [3 /*break*/, 5];
4137
+ field = _a[_i];
4138
+ return [4 /*yield*/, BuildLookupDataField(field, sdata, db)];
4139
+ case 3:
4140
+ _b.sent();
4141
+ _b.label = 4;
4142
+ case 4:
4143
+ _i++;
4144
+ return [3 /*break*/, 2];
4145
+ case 5: return [3 /*break*/, 7];
4146
+ case 6:
4147
+ error_6 = _b.sent();
4148
+ next(error_6);
4149
+ return [3 /*break*/, 7];
4150
+ case 7: return [2 /*return*/];
4151
+ }
4152
+ });
4153
+ });
4154
+ }
4155
+ exports.CreateBanquetingVATSettingsData = CreateBanquetingVATSettingsData;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.237",
3
+ "version": "1.0.241",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {