@optimiser/common 1.0.342 → 1.0.344
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 +10 -10
- package/dist/lib/utility.js +108 -43
- package/package.json +2 -1
package/dist/lib/utility.d.ts
CHANGED
|
@@ -263,15 +263,6 @@ declare function InvitationMailReplyContent(fromUser: string, fromEmail: string)
|
|
|
263
263
|
* @return boolean
|
|
264
264
|
*/
|
|
265
265
|
declare function HasFiscalOperator(filter: any): boolean;
|
|
266
|
-
/**
|
|
267
|
-
* TODO: Return bulk object of Update URL data
|
|
268
|
-
*
|
|
269
|
-
* @param eventIds - ObjectId[]
|
|
270
|
-
* @param companyId - string
|
|
271
|
-
* @param secretKey - string
|
|
272
|
-
* @return object[]
|
|
273
|
-
*/
|
|
274
|
-
declare function GetBulkUpdateURLData(eventIds: ObjectId[], companyId: string, secretKey: string): any[];
|
|
275
266
|
/**
|
|
276
267
|
* TODO: Return Encrypted URL
|
|
277
268
|
*
|
|
@@ -281,4 +272,13 @@ declare function GetBulkUpdateURLData(eventIds: ObjectId[], companyId: string, s
|
|
|
281
272
|
* @return object
|
|
282
273
|
*/
|
|
283
274
|
declare function GetEncryptedURL(options: GetEncryptedURLOptions): any[];
|
|
284
|
-
|
|
275
|
+
declare function GenerateBase64QRCodeData(data: string, options?: any): Promise<any>;
|
|
276
|
+
/**
|
|
277
|
+
* QPC-7137: getting Drive sharing
|
|
278
|
+
*
|
|
279
|
+
* @param parentFolderID - folder id
|
|
280
|
+
* @param db - object db connecttion
|
|
281
|
+
* @return array of all sharing of child file folders
|
|
282
|
+
*/
|
|
283
|
+
declare function GetFileFolderDetailsInFolderForDriveSharing(parentFolderID: any, db: Db): Promise<any>;
|
|
284
|
+
export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, UpdateRecentViewFields, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, GetObjectByString, BuildLookupDataField, CheckDataBeforeAdd, CheckDataBeforeUpdate, BuildGridFieldProjection, BuildFieldProjection, BuildLookupFieldProjection, FilterConditions, GirdHeaderFilters, FieldsGridHeaderFilters, 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, IsStringValue, ValidateSanitizeUserInput, ValidateUserInput, CheckConditionalField, CheckExpressionOnDateField, AddDaysToDate, CreateBanquetingVATSettingsData, CheckReportFolderAccess, GetMailFromString, InvitationMailReplyContent, HasFiscalOperator, GetEncryptedURL, GenerateBase64QRCodeData, GetFileFolderDetailsInFolderForDriveSharing };
|
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.
|
|
83
|
+
exports.GetFileFolderDetailsInFolderForDriveSharing = exports.GenerateBase64QRCodeData = exports.GetEncryptedURL = exports.HasFiscalOperator = exports.InvitationMailReplyContent = exports.GetMailFromString = exports.CheckReportFolderAccess = exports.CreateBanquetingVATSettingsData = exports.AddDaysToDate = exports.CheckExpressionOnDateField = exports.CheckConditionalField = exports.ValidateUserInput = exports.ValidateSanitizeUserInput = exports.IsStringValue = 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.FieldsGridHeaderFilters = exports.GirdHeaderFilters = exports.FilterConditions = exports.BuildLookupFieldProjection = exports.BuildFieldProjection = exports.BuildGridFieldProjection = exports.CheckDataBeforeUpdate = exports.CheckDataBeforeAdd = exports.BuildLookupDataField = exports.GetObjectByString = exports.SyncUserInOtherCollection = exports.SyncFieldInOtherCollection = exports.SyncFieldInSameCollectionByObjectIDWithPromise = exports.SyncFieldInSameCollectionByObjectID = exports.SyncFieldInSameCollection = exports.DeleteFieldInOtherCollection = exports.SyncParentObjectData = exports.SyncChildObjectData = exports.UpdateRecentViewFields = 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");
|
|
@@ -99,6 +99,7 @@ require("moment-timezone");
|
|
|
99
99
|
var helper_1 = require("./helper");
|
|
100
100
|
var sanitize = require('mongo-sanitize');
|
|
101
101
|
var phoneUtil = require("google-libphonenumber").PhoneNumberUtil.getInstance();
|
|
102
|
+
var qrcode = require('qrcode');
|
|
102
103
|
var _settingData = {};
|
|
103
104
|
function GetObjectByKeyValueFromList(list, key, val) {
|
|
104
105
|
if (list && list.length > 0) {
|
|
@@ -5361,34 +5362,6 @@ function HasFiscalOperator(filter) {
|
|
|
5361
5362
|
return false;
|
|
5362
5363
|
}
|
|
5363
5364
|
exports.HasFiscalOperator = HasFiscalOperator;
|
|
5364
|
-
/**
|
|
5365
|
-
* TODO: Return bulk object of Update URL data
|
|
5366
|
-
*
|
|
5367
|
-
* @param eventIds - ObjectId[]
|
|
5368
|
-
* @param companyId - string
|
|
5369
|
-
* @param secretKey - string
|
|
5370
|
-
* @return object[]
|
|
5371
|
-
*/
|
|
5372
|
-
function GetBulkUpdateURLData(eventIds, companyId, secretKey) {
|
|
5373
|
-
var bulkOps = [];
|
|
5374
|
-
eventIds.forEach(function (event) {
|
|
5375
|
-
// Process each value in the array
|
|
5376
|
-
console.log(event);
|
|
5377
|
-
var eventIdStr = event.toString();
|
|
5378
|
-
var url = cryptoService.encrypt(secretKey, companyId + "-" + eventIdStr).cipherText;
|
|
5379
|
-
bulkOps.push({
|
|
5380
|
-
updateOne: {
|
|
5381
|
-
filter: {
|
|
5382
|
-
"_id": event,
|
|
5383
|
-
"StartDate": { $gt: new Date() }
|
|
5384
|
-
},
|
|
5385
|
-
update: { $set: { UniqueURL: url } }
|
|
5386
|
-
}
|
|
5387
|
-
});
|
|
5388
|
-
});
|
|
5389
|
-
return bulkOps;
|
|
5390
|
-
}
|
|
5391
|
-
exports.GetBulkUpdateURLData = GetBulkUpdateURLData;
|
|
5392
5365
|
/**
|
|
5393
5366
|
* TODO: Return Encrypted URL
|
|
5394
5367
|
*
|
|
@@ -5398,28 +5371,26 @@ exports.GetBulkUpdateURLData = GetBulkUpdateURLData;
|
|
|
5398
5371
|
* @return object
|
|
5399
5372
|
*/
|
|
5400
5373
|
function GetEncryptedURL(options) {
|
|
5401
|
-
var recordIds = options.recordIds, companyId = options.companyId, secretKey = options.secretKey, prefixUrl = options.prefixUrl, apiUrl = options.apiUrl
|
|
5402
|
-
var
|
|
5374
|
+
var recordIds = options.recordIds, companyId = options.companyId, secretKey = options.secretKey, prefixUrl = options.prefixUrl, apiUrl = options.apiUrl;
|
|
5375
|
+
var data = {};
|
|
5403
5376
|
recordIds.forEach(function (record) {
|
|
5404
|
-
var _a, _b;
|
|
5405
5377
|
// Process each value in the array
|
|
5406
5378
|
var recordIdStr = record.toString();
|
|
5407
5379
|
var url = cryptoService.encrypt(secretKey, companyId + "-" + recordIdStr).cipherText;
|
|
5408
5380
|
var apiEncryptedURL = "" + prefixUrl + apiUrl + url;
|
|
5409
|
-
|
|
5410
|
-
bulkOps.push({
|
|
5411
|
-
updateMany: {
|
|
5412
|
-
filter: (_a = {},
|
|
5413
|
-
_a[fieldName] = { $exists: false },
|
|
5414
|
-
_a[filterKey] = record,
|
|
5415
|
-
_a),
|
|
5416
|
-
update: { $set: (_b = {}, _b[fieldName] = apiEncryptedURL, _b[qrFieldWithAlias] = false, _b) }
|
|
5417
|
-
}
|
|
5418
|
-
});
|
|
5381
|
+
data[recordIdStr] = apiEncryptedURL;
|
|
5419
5382
|
});
|
|
5420
|
-
return
|
|
5383
|
+
return data;
|
|
5421
5384
|
}
|
|
5422
5385
|
exports.GetEncryptedURL = GetEncryptedURL;
|
|
5386
|
+
/**
|
|
5387
|
+
* TODO: Build QRField/PENDING field true
|
|
5388
|
+
*
|
|
5389
|
+
* @param fieldSchema - AnyObjectInterface field related schema information
|
|
5390
|
+
* @param updateObj - object contains data
|
|
5391
|
+
* @param db - object db connecttion
|
|
5392
|
+
* @return object
|
|
5393
|
+
*/
|
|
5423
5394
|
function BuildQRDataField(fieldSchema, updateObj, db) {
|
|
5424
5395
|
if (constants_1.default.QrPendingFields === fieldSchema.UIDataType) {
|
|
5425
5396
|
var fldValue = null;
|
|
@@ -5432,3 +5403,97 @@ function BuildQRDataField(fieldSchema, updateObj, db) {
|
|
|
5432
5403
|
}
|
|
5433
5404
|
return updateObj;
|
|
5434
5405
|
}
|
|
5406
|
+
function GenerateBase64QRCodeData(data, options) {
|
|
5407
|
+
if (options === void 0) { options = {}; }
|
|
5408
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
5409
|
+
var qrOptions, qrCodeB64Image, error_8;
|
|
5410
|
+
return __generator(this, function (_a) {
|
|
5411
|
+
switch (_a.label) {
|
|
5412
|
+
case 0:
|
|
5413
|
+
_a.trys.push([0, 2, , 3]);
|
|
5414
|
+
qrOptions = {
|
|
5415
|
+
width: options.width || 600,
|
|
5416
|
+
height: options.height || 600,
|
|
5417
|
+
color: {
|
|
5418
|
+
dark: options.color.dark || '#000000',
|
|
5419
|
+
light: options.color.light || '#ffffff',
|
|
5420
|
+
},
|
|
5421
|
+
correctLevel: options.correctLevel || 'M',
|
|
5422
|
+
};
|
|
5423
|
+
return [4 /*yield*/, qrcode.toDataURL(data, qrOptions)];
|
|
5424
|
+
case 1:
|
|
5425
|
+
qrCodeB64Image = _a.sent();
|
|
5426
|
+
return [2 /*return*/, qrCodeB64Image];
|
|
5427
|
+
case 2:
|
|
5428
|
+
error_8 = _a.sent();
|
|
5429
|
+
console.error('Error while Generating BASE64 of QR URL ', error_8);
|
|
5430
|
+
return [3 /*break*/, 3];
|
|
5431
|
+
case 3: return [2 /*return*/];
|
|
5432
|
+
}
|
|
5433
|
+
});
|
|
5434
|
+
});
|
|
5435
|
+
}
|
|
5436
|
+
exports.GenerateBase64QRCodeData = GenerateBase64QRCodeData;
|
|
5437
|
+
/**
|
|
5438
|
+
* QPC-7137: getting Drive sharing
|
|
5439
|
+
*
|
|
5440
|
+
* @param parentFolderID - folder id
|
|
5441
|
+
* @param db - object db connecttion
|
|
5442
|
+
* @return array of all sharing of child file folders
|
|
5443
|
+
*/
|
|
5444
|
+
function GetFileFolderDetailsInFolderForDriveSharing(parentFolderID, db) {
|
|
5445
|
+
return new Promise(function (resolve, reject) {
|
|
5446
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
5447
|
+
var totalFiles, totalFolders, size, fileData, folderData, fileIds, folderIds, entityData, i, entity, resData;
|
|
5448
|
+
return __generator(this, function (_a) {
|
|
5449
|
+
switch (_a.label) {
|
|
5450
|
+
case 0:
|
|
5451
|
+
totalFiles = 0;
|
|
5452
|
+
totalFolders = 0;
|
|
5453
|
+
size = 0;
|
|
5454
|
+
fileData = [];
|
|
5455
|
+
folderData = [];
|
|
5456
|
+
fileIds = [];
|
|
5457
|
+
folderIds = [];
|
|
5458
|
+
return [4 /*yield*/, db.collection("DriveSharing").find({ FolderId: parentFolderID, IsActive: true }).toArray()];
|
|
5459
|
+
case 1:
|
|
5460
|
+
entityData = _a.sent();
|
|
5461
|
+
i = 0;
|
|
5462
|
+
_a.label = 2;
|
|
5463
|
+
case 2:
|
|
5464
|
+
if (!(i < entityData.length)) return [3 /*break*/, 6];
|
|
5465
|
+
entity = entityData[i];
|
|
5466
|
+
if (!(entity.Type == "file")) return [3 /*break*/, 3];
|
|
5467
|
+
totalFiles++;
|
|
5468
|
+
fileData.push(entity);
|
|
5469
|
+
fileIds.push(entity._id);
|
|
5470
|
+
size += entity.Size;
|
|
5471
|
+
return [3 /*break*/, 5];
|
|
5472
|
+
case 3:
|
|
5473
|
+
if (!(entity.Type == "folder")) return [3 /*break*/, 5];
|
|
5474
|
+
totalFolders++;
|
|
5475
|
+
folderData.push(entity);
|
|
5476
|
+
folderIds.push(entity._id);
|
|
5477
|
+
return [4 /*yield*/, GetFileFolderDetailsInFolderForDriveSharing(entity.FileId, db)];
|
|
5478
|
+
case 4:
|
|
5479
|
+
resData = _a.sent();
|
|
5480
|
+
totalFiles += resData.totalFiles;
|
|
5481
|
+
totalFolders += resData.totalFolders;
|
|
5482
|
+
size += resData.size;
|
|
5483
|
+
fileData.push.apply(fileData, resData.fileData);
|
|
5484
|
+
folderData.push.apply(folderData, resData.folderData);
|
|
5485
|
+
fileIds.push.apply(fileIds, resData.fileIds);
|
|
5486
|
+
folderIds.push.apply(folderIds, resData.folderIds);
|
|
5487
|
+
_a.label = 5;
|
|
5488
|
+
case 5:
|
|
5489
|
+
i++;
|
|
5490
|
+
return [3 /*break*/, 2];
|
|
5491
|
+
case 6:
|
|
5492
|
+
resolve({ totalFiles: totalFiles, totalFolders: totalFolders, fileData: fileData, folderData: folderData, size: size, folderIds: folderIds, fileIds: fileIds });
|
|
5493
|
+
return [2 /*return*/];
|
|
5494
|
+
}
|
|
5495
|
+
});
|
|
5496
|
+
});
|
|
5497
|
+
});
|
|
5498
|
+
}
|
|
5499
|
+
exports.GetFileFolderDetailsInFolderForDriveSharing = GetFileFolderDetailsInFolderForDriveSharing;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optimiser/common",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.344",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"mongodb": "^3.6.2",
|
|
36
36
|
"nodemailer": "^6.4.11",
|
|
37
37
|
"promise.allsettled": "^1.0.2",
|
|
38
|
+
"qrcode": "^1.5.3",
|
|
38
39
|
"request": "^2.88.2",
|
|
39
40
|
"sequelize": "^6.3.5",
|
|
40
41
|
"unzipper": "^0.10.11",
|