MCPcopy Create free account
hub / github.com/cloudconvert/cloudconvert-cli / uploadFiles

Function uploadFiles

src/job.ts:302–335  ·  view source on GitHub ↗
(
  job: Job,
  uploadFilesByTaskName: UploadFilesByTaskName,
  argv: CliArguments,
  spinner: Spinner,
  cancellationSignal?: AbortSignal
)

Source from the content-addressed store, hash-verified

300}
301
302async function uploadFiles(
303 job: Job,
304 uploadFilesByTaskName: UploadFilesByTaskName,
305 argv: CliArguments,
306 spinner: Spinner,
307 cancellationSignal?: AbortSignal
308): Promise<void> {
309 const uploadTasks = job.tasks.filter(task => task.operation === 'import/upload');
310
311 for (const task of uploadTasks) {
312 throwIfCancelled(cancellationSignal);
313 const file = uploadFilesByTaskName[task.name];
314
315 if (!file) {
316 throw new Error(`Upload task ${task.name} has no matching input file.`);
317 }
318
319 const uploadFile = resolveUploadFilePath(file);
320 const { size } = statSync(uploadFile);
321
322 spinner.text = `Uploading ${uploadFile}`;
323 const stream = createReadStream(uploadFile);
324 const destroyStream = (): void => {
325 stream.destroy(new Error(JOB_CANCELLED_MESSAGE));
326 };
327
328 cancellationSignal?.addEventListener('abort', destroyStream, { once: true });
329 try {
330 await argv.cloudconvert.tasks.upload(task, stream, basename(uploadFile), size);
331 } finally {
332 cancellationSignal?.removeEventListener('abort', destroyStream);
333 }
334 }
335}
336
337function createJobCancellation(
338 jobId: string,

Callers 1

runJobFunction · 0.85

Calls 2

throwIfCancelledFunction · 0.85
resolveUploadFilePathFunction · 0.85

Tested by

no test coverage detected