detect and skip fees with custom prefixes when deleting
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user