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);