@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.
- package/dist/lib/utility.d.ts +12 -2
- package/dist/lib/utility.js +110 -45
- package/package.json +1 -1
package/dist/lib/utility.d.ts
CHANGED
|
@@ -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
|
-
|
|
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 };
|
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.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
|
|
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*/,
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
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
|
-
|
|
3193
|
-
|
|
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 (
|
|
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 =
|
|
3199
|
-
case
|
|
3200
|
-
if (!(i < querys.length)) return [3 /*break*/,
|
|
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*/,
|
|
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
|
|
3227
|
+
case 7:
|
|
3209
3228
|
_g.sent();
|
|
3210
|
-
return [3 /*break*/,
|
|
3211
|
-
case
|
|
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
|
|
3233
|
+
case 9:
|
|
3215
3234
|
_g.sent();
|
|
3216
|
-
_g.label =
|
|
3217
|
-
case
|
|
3235
|
+
_g.label = 10;
|
|
3236
|
+
case 10:
|
|
3218
3237
|
i++;
|
|
3219
|
-
return [3 /*break*/,
|
|
3220
|
-
case
|
|
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;
|