From a3a5e7c244b11eed9abb6329f5b4780f288cb2bf Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 5 Sep 2019 10:04:07 +0200 Subject: [PATCH] detect and skip fees with custom prefixes when deleting --- services/officeRnD/fees.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/services/officeRnD/fees.js b/services/officeRnD/fees.js index 049a7a1..6d421fe 100644 --- a/services/officeRnD/fees.js +++ b/services/officeRnD/fees.js @@ -3,7 +3,7 @@ const moment = require('moment-timezone'); const { API } = require('../../helpers/api'); -const { officeRnDAPIErrors, DEFAULT_DATE_FORMAT, UNPAID_FEE_STATUS } = require('../../constants/constants'); +const { officeRnDAPIErrors, DEFAULT_DATE_FORMAT, UNPAID_FEE_STATUS, CUSTOM_FEES_PREFIXES } = require('../../constants/constants'); const deleteFeesFromORD = (dateRange, memberIds) => { return new Promise((resolve, reject) => { @@ -12,7 +12,7 @@ const deleteFeesFromORD = (dateRange, memberIds) => { const asyncDataFetch = [API.get('fees'), API.get('plans')]; - const invoicedFees = []; + const feesToSkip = []; Promise.all(asyncDataFetch) .then((responses) => { @@ -45,19 +45,27 @@ const deleteFeesFromORD = (dateRange, memberIds) => { const feeId = fee['_id']; const isDateInDateRange = startDate.isSameOrBefore(date) && endDate.isSameOrAfter(date); - const manuallyAddedFee = manualFeeNames.indexOf(name) !== -1; + let manuallyAddedFee = false; + if (manualFeeNames.indexOf(name) === -1){ + if (name && name[0] && CUSTOM_FEES_PREFIXES.indexOf(name[0]) !== -1){ + manuallyAddedFee = true; + } + }else{ + manuallyAddedFee = true; + } + const memberFeesShouldBeDeleted = filterByMemberIds ? memberIdsMap[member] : true; if (memberFeesShouldBeDeleted && isDateInDateRange && (status === UNPAID_FEE_STATUS) && !manuallyAddedFee) { feeIdsToRemove.push(feeId); }else{ - invoicedFees.push(fee); + feesToSkip.push(fee); } }); API.delete('fees', { data: feeIdsToRemove }) .then(() => { - resolve(invoicedFees); + resolve(feesToSkip); }) .catch((error) => { console.log('error : ', error);