function getOfflineEventsBatchSender()

in src/utils/batchSenders.js [73:110]


function getOfflineEventsBatchSender(
  accessToken: string,
  dataSetID: string,
  uploadID: string,
  namespaceID: ?string,
  enableProgressTracking: boolean,
): BatchSender {
  return (batch: Batch) => {
    return new Promise((resolve, reject) => {
      const params: Object = {
        access_token: accessToken,
        suppress_http_code: 1,
        data: batch.rows,
        upload_id: uploadID,
      };
      if (!isE2E) {
        params.upload_source = UPLOAD_SOURCE;
      }
      if (namespaceID != null) {
        params.namespace_id = namespaceID;
      }
      if (enableProgressTracking) {
        params.progress = {
          start_inclusive: batch.start,
          end_exclusive: batch.end,
        };
      }
      const {
        thenCallback,
        catchCallback,
      } = getGraphAPICallbacks(resolve, reject, batch);
      graphAPI(`${dataSetID}/events`, 'POST', params)
        .catch(catchCallback)
        .then(thenCallback);
      winston.debug(`Batch [${batch.start}, ${batch.end}): sending`);
    });
  };
}