function testJobHasCompleted()

in lambdas/src/MembershipSub-PromoCode-View-Dynamo-to-Salesforce.js [160:188]


        function testJobHasCompleted(jobId, fulfilled, rejected) {
            const options = getOptions();
            options.path = `/services/data/v42.0/jobs/ingest/${jobId}`;
            options.method = 'GET';
            return () => makeSalesforceAPIRequest(
                options,
                '',
                (res, body) => {
                    if (res.statusCode === 200) {
                        const data = JSON.parse(body);
                        if (data.state === 'JobComplete') {
                            clearInterval(interval);
                            fulfilled(jobId);
                        } else if (data.state === 'Failed') {
                            clearInterval(interval);
                            rejected(data.errorMessage);
                        }
                    } else {
                        clearInterval(interval);
                        rejected(`Error: testJobHasCompleted - ${res.statusCode} - ${body}`);
                    }
                },
                (error) => {
                    clearInterval(interval);
                    rejected(error);
                }

            );
        }