@optimiser/common 1.0.263 → 1.0.264

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.
@@ -621,8 +621,13 @@ var GetDateRangeFromOperatorValue = function (operator, fiscalMonth, fiscalFrom)
621
621
  endDate = momentObj.clone().add(1, "years").endOf('year').format(requiredDateFormat);
622
622
  break;
623
623
  case "Year to Date":
624
- startDate = momentObj.clone().subtract(1, "years").startOf('month').month("Apr").format(requiredDateFormat);
625
624
  endDate = momentObj.clone().format(requiredDateFormat);
625
+ if (parseInt(momentObj.format('M')) > 3) {
626
+ startDate = momentObj.clone().startOf('month').month("Apr").format(requiredDateFormat);
627
+ }
628
+ else {
629
+ startDate = momentObj.clone().subtract(1, "years").startOf('month').month("Apr").format(requiredDateFormat);
630
+ }
626
631
  break;
627
632
  default:
628
633
  break;
@@ -205,4 +205,14 @@ declare function ValidateSanitizeUserInput(inputFields: AnyObjectInterface, page
205
205
  * @return N/A
206
206
  */
207
207
  declare function CreateBanquetingVATSettingsData(msp_d: AnyObjectInterface, db: Db, sdata: AnyObjectInterface, next: NextFunction): Promise<void>;
208
- export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, UpdateRecentViewFields, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, 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, ValidateSanitizeUserInput, CreateBanquetingVATSettingsData };
208
+ /**
209
+ * TODO: To Check if given user has access to Report Folder - THIS FUNCTION IS COPIED FROM report_controller.js
210
+ *
211
+ * @param {object} report Contains Report information
212
+ * @param {object} db Database connection object
213
+ * @param {object} msp_d Contains User id information
214
+ * @param folderActiveStatus boolean default value true
215
+ * @return N/A
216
+ */
217
+ declare function CheckReportFolderAccess(report: AnyObjectInterface, db: Db, msp_d: AnyObjectInterface, folderActiveStatus?: boolean): Promise<boolean>;
218
+ export { CheckForWhiteListedDomain, ReturnJsonResponse, ConvertFileByteSize, GetObjectByKeyValueFromList, IsEqualArrays, IsEqualValue, CheckUserProfileField, GetPageFieldData, GetPageObjectSchema, GetFieldDetail, UpdateRecentViewObject, UpdateRecentViewFields, SyncChildObjectData, SyncParentObjectData, DeleteFieldInOtherCollection, SyncFieldInSameCollection, SyncFieldInSameCollectionByObjectID, SyncFieldInSameCollectionByObjectIDWithPromise, SyncFieldInOtherCollection, SyncUserInOtherCollection, 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, ValidateSanitizeUserInput, CreateBanquetingVATSettingsData, CheckReportFolderAccess };
@@ -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.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.FieldsGridHeaderFilters = 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.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.CheckReportFolderAccess = 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.FieldsGridHeaderFilters = 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.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");
@@ -4274,3 +4274,52 @@ function CreateBanquetingVATSettingsData(msp_d, db, sdata, next) {
4274
4274
  });
4275
4275
  }
4276
4276
  exports.CreateBanquetingVATSettingsData = CreateBanquetingVATSettingsData;
4277
+ /**
4278
+ * TODO: To Check if given user has access to Report Folder - THIS FUNCTION IS COPIED FROM report_controller.js
4279
+ *
4280
+ * @param {object} report Contains Report information
4281
+ * @param {object} db Database connection object
4282
+ * @param {object} msp_d Contains User id information
4283
+ * @param folderActiveStatus boolean default value true
4284
+ * @return N/A
4285
+ */
4286
+ function CheckReportFolderAccess(report, db, msp_d, folderActiveStatus) {
4287
+ if (folderActiveStatus === void 0) { folderActiveStatus = true; }
4288
+ return __awaiter(this, void 0, void 0, function () {
4289
+ var shareFolderIds, userID, FolderList, User, currentUserDateTime, shareFolderList, folderIsActive, hasAccess, i;
4290
+ return __generator(this, function (_a) {
4291
+ switch (_a.label) {
4292
+ case 0:
4293
+ shareFolderIds = [];
4294
+ userID = new mongodb_1.ObjectID(msp_d.ui);
4295
+ FolderList = [];
4296
+ return [4 /*yield*/, db.collection('User').findOne({ _id: userID }, { projection: { MySettings: 1 } })];
4297
+ case 1:
4298
+ User = _a.sent();
4299
+ currentUserDateTime = new Date(moment_1.default().tz(User.MySettings.Timezone).format("YYYY-MM-DDTHH:mm:ss").split("T")[0]);
4300
+ return [4 /*yield*/, db.collection('ReportFolderSharing').find({ UserID: userID, $or: [{ Applicable: null }, { Applicable: { $gte: currentUserDateTime } }], IsActive: true }, { projection: { ReportFolderID: 1 } }).toArray()];
4301
+ case 2:
4302
+ shareFolderList = _a.sent();
4303
+ if (shareFolderList && shareFolderList.length > 0) {
4304
+ shareFolderIds = shareFolderList.map(function (x) { return x.ReportFolderID; });
4305
+ }
4306
+ folderIsActive = {};
4307
+ if (folderActiveStatus) {
4308
+ folderIsActive = { IsActive: true };
4309
+ }
4310
+ return [4 /*yield*/, db.collection('ReportFolder').find(__assign({ $or: [{ OwnerID: userID }, { _id: { $in: shareFolderIds } }] }, folderIsActive)).toArray()];
4311
+ case 3:
4312
+ FolderList = _a.sent();
4313
+ FolderList = FolderList.map(function (x) { return x._id; });
4314
+ hasAccess = false;
4315
+ for (i = 0; i < FolderList.length; i++) {
4316
+ if (FolderList[i].equals(report.ReportFolder)) {
4317
+ hasAccess = true;
4318
+ }
4319
+ }
4320
+ return [2 /*return*/, hasAccess];
4321
+ }
4322
+ });
4323
+ });
4324
+ }
4325
+ exports.CheckReportFolderAccess = CheckReportFolderAccess;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimiser/common",
3
- "version": "1.0.263",
3
+ "version": "1.0.264",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {