async function checkJobStatus()

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: '',
        };
    }
}