@optimiser/common 1.0.343 → 1.0.345

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.
@@ -272,4 +272,13 @@ declare function HasFiscalOperator(filter: any): boolean;
272
272
  * @return object
273
273
  */
274
274
  declare function GetEncryptedURL(options: GetEncryptedURLOptions): any[];
275
- 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 };
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 };
@@ -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.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;
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) {
@@ -5402,3 +5403,97 @@ function BuildQRDataField(fieldSchema, updateObj, db) {
5402
5403
  }
5403
5404
  return updateObj;
5404
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 || 300,
5416
+ height: options.height || 300,
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.343",
3
+ "version": "1.0.345",
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",