in src/libs/zuora.ts [227:274]
async function checkJobStatus(
stage: string,
zuoraBearerToken: string,
jobId: string,
date: string,
): Promise<ZuoraBatchJobStatusReceipt> {
console.log(`date: ${date}; check job status: jobId: ${jobId}`);
const url = `${zuoraServerUrl(stage)}/apps/api/batch-query/jobs/${jobId}`;
const response = await fetch(url, {
method: 'GET',
headers: {
Authorization: `Bearer ${zuoraBearerToken}`,
'Content-Type': 'application/json',
},
});
const data = await response.json();
console.log(`date: ${date}; checkJobStatus: data: ${JSON.stringify(data)}`);
if (data.status === 'completed') {
return {
status: true,
subscriptionsFileId: data.batches.filter(
(item: { name: string }) => {
return (
item.name ==
'national-delivery-fulfilment-subscriptions'
);
},
)[0].fileId,
holidayNamesFileId: data.batches.filter(
(item: { name: string }) => {
return (
item.name ==
'national-delivery-fulfilment-holiday-names'
);
},
)[0].fileId,
};
} else {
return {
status: false,
subscriptionsFileId: '',
holidayNamesFileId: '',
};
}
}