[NOT FINISHED] delete fees in chunks

This commit is contained in:
Bilal Catic
2019-10-04 18:52:41 +02:00
parent 5a07b74ae2
commit bc56ed3f03
3 changed files with 35 additions and 6 deletions

View File

@@ -3,7 +3,14 @@
const moment = require('moment-timezone');
const { API } = require('../../helpers/api');
const { officeRnDAPIErrors, DEFAULT_DATE_FORMAT, UNPAID_FEE_STATUS, CUSTOM_FEES_PREFIXES } = require('../../constants/constants');
const {
officeRnDAPIErrors,
DEFAULT_DATE_FORMAT,
UNPAID_FEE_STATUS,
CUSTOM_FEES_PREFIXES,
MAX_FEES_TO_DELETE,
FEES_DELETE_DELAY,
} = require('../../constants/constants');
const deleteFeesFromORD = (dateRange, memberIds) => {
return new Promise((resolve, reject) => {
@@ -63,14 +70,28 @@ const deleteFeesFromORD = (dateRange, memberIds) => {
}
});
API.delete('fees', { data: feeIdsToRemove })
const asyncDeleteCalls = [];
let i,j;
for (i=0, j=feeIdsToRemove; i<j; i+= MAX_FEES_TO_DELETE){
const feesSubset = feeIdsToRemove.slice(i, i+MAX_FEES_TO_DELETE);
const deleteFeesPromise = API.delete('fees', { data: feesSubset }).then(() => resolve(true)).catch((error) => {
console.log('[Delete Fees From ORD] Error deleting fees from ORD : ', error);
reject(officeRnDAPIErrors.FAILED_TO_DELETE_FEES);
});
asyncDeleteCalls.push(deleteFeesPromise);
//sleep for FEES_DELETE_DELAY ms
}
Promise.all(asyncDeleteCalls)
.then(() => {
resolve(feesToSkip);
})
.catch((error) => {
console.log('[Delete Fees From ORD] Error deleting fees from ORD : ', error);
reject(officeRnDAPIErrors.FAILED_TO_DELETE_FEES);
});
reject(error);
})
})
.catch((error) => {
console.log("[Delete Fees From ORD] Error fetching fees and plans from ORD : ", error);