box-node-sdk

ChunkedUploadsManager

This is a manager for chunked uploads (allowed for files at least 20MB).

Create upload session

Creates an upload session for a new file.

This operation is performed by calling function createFileUploadSession.

See the endpoint docs at API Reference.

await client.chunkedUploads.createFileUploadSession({
  fileName: fileName,
  fileSize: fileSize,
  folderId: parentFolderId,
} satisfies CreateFileUploadSessionRequestBody);

Arguments

Returns

This function returns a value of type UploadSession.

Returns a new upload session.

Create upload session for existing file

Creates an upload session for an existing file.

This operation is performed by calling function createFileUploadSessionForExistingFile.

See the endpoint docs at API Reference.

await client.chunkedUploads.createFileUploadSessionForExistingFile(
  uploadedFile.id,
  {
    fileSize: fileSize,
  } satisfies CreateFileUploadSessionForExistingFileRequestBody,
);

Arguments

Returns

This function returns a value of type UploadSession.

Returns a new upload session.

Get upload session by URL

Return information about an upload session.

The actual endpoint URL is returned by the Create upload session endpoint.

This operation is performed by calling function getFileUploadSessionByUrl.

See the endpoint docs at API Reference.

await client.chunkedUploads.getFileUploadSessionByUrl(statusUrl);

Arguments

Returns

This function returns a value of type UploadSession.

Returns an upload session object.

Get upload session

Return information about an upload session.

The actual endpoint URL is returned by the Create upload session endpoint.

This operation is performed by calling function getFileUploadSessionById.

See the endpoint docs at API Reference.

await client.chunkedUploads.getFileUploadSessionById(uploadSessionId);

Arguments

Returns

This function returns a value of type UploadSession.

Returns an upload session object.

Upload part of file by URL

Uploads a chunk of a file for an upload session.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function uploadFilePartByUrl.

See the endpoint docs at API Reference.

await client.chunkedUploads.uploadFilePartByUrl(
  acc.uploadPartUrl,
  generateByteStreamFromBuffer(chunkBuffer),
  {
    digest: digest,
    contentRange: contentRange,
  } satisfies UploadFilePartByUrlHeadersInput,
);

Arguments

Returns

This function returns a value of type UploadedPart.

Chunk has been uploaded successfully.

Upload part of file

Uploads a chunk of a file for an upload session.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function uploadFilePart.

See the endpoint docs at API Reference.

await client.chunkedUploads.uploadFilePart(
  acc.uploadSessionId,
  generateByteStreamFromBuffer(chunkBuffer),
  {
    digest: digest,
    contentRange: contentRange,
  } satisfies UploadFilePartHeadersInput,
);

Arguments

Returns

This function returns a value of type UploadedPart.

Chunk has been uploaded successfully.

Remove upload session by URL

Abort an upload session and discard all data uploaded.

This cannot be reversed.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function deleteFileUploadSessionByUrl.

See the endpoint docs at API Reference.

await client.chunkedUploads.deleteFileUploadSessionByUrl(abortUrl);

Arguments

Returns

This function returns a value of type undefined.

A blank response is returned if the session was successfully aborted.

Remove upload session

Abort an upload session and discard all data uploaded.

This cannot be reversed.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function deleteFileUploadSessionById.

See the endpoint docs at API Reference.

await client.chunkedUploads.deleteFileUploadSessionById(uploadSessionId);

Arguments

Returns

This function returns a value of type undefined.

A blank response is returned if the session was successfully aborted.

List parts by URL

Return a list of the chunks uploaded to the upload session so far.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function getFileUploadSessionPartsByUrl.

See the endpoint docs at API Reference.

await client.chunkedUploads.getFileUploadSessionPartsByUrl(listPartsUrl);

Arguments

Returns

This function returns a value of type UploadParts.

Returns a list of parts that have been uploaded.

List parts

Return a list of the chunks uploaded to the upload session so far.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function getFileUploadSessionParts.

See the endpoint docs at API Reference.

await client.chunkedUploads.getFileUploadSessionParts(uploadSessionId);

Arguments

Returns

This function returns a value of type UploadParts.

Returns a list of parts that have been uploaded.

Plan upload session by URL

Plan an upload session by checking which parts already exist on the server. This endpoint allows clients to optimize uploads by skipping parts that have already been uploaded (cache hits) and only uploading missing parts.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function createFileUploadSessionPlanByUrl.

See the endpoint docs at API Reference.

await client.chunkedUploads.createFileUploadSessionPlanByUrl(planUrl, {
  parts: parts,
} satisfies UploadSessionPlanRequest);

Arguments

Returns

This function returns a value of type UploadSessionPlanResponse.

Returns information about which parts already exist (hits) and which parts need to be uploaded (misses).

Plan upload session

Plan an upload session by checking which parts already exist on the server. This endpoint allows clients to optimize uploads by skipping parts that have already been uploaded (cache hits) and only uploading missing parts.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function createFileUploadSessionPlan.

See the endpoint docs at API Reference.

Currently we don’t have an example for calling createFileUploadSessionPlan in integration tests

Arguments

Returns

This function returns a value of type UploadSessionPlanResponse.

Returns information about which parts already exist (hits) and which parts need to be uploaded (misses).

Commit upload session by URL

Close an upload session and create a file from the uploaded chunks.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function createFileUploadSessionCommitByUrl.

See the endpoint docs at API Reference.

await client.chunkedUploads.createFileUploadSessionCommitByUrl(
  commitUrl,
  { parts: parts } satisfies CreateFileUploadSessionCommitByUrlRequestBody,
  { digest: digest } satisfies CreateFileUploadSessionCommitByUrlHeadersInput,
);

Arguments

Returns

This function returns a value of type undefined | Files.

Returns the file object in a list.Returns when all chunks have been uploaded but not yet processed.

Inspect the upload session to get more information about the progress of processing the chunks, then retry committing the file when all chunks have processed.

Commit upload session

Close an upload session and create a file from the uploaded chunks.

The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

This operation is performed by calling function createFileUploadSessionCommit.

See the endpoint docs at API Reference.

await client.chunkedUploads.createFileUploadSessionCommit(
  uploadSessionId,
  { parts: parts } satisfies CreateFileUploadSessionCommitRequestBody,
  { digest: digest } satisfies CreateFileUploadSessionCommitHeadersInput,
);

Arguments

Returns

This function returns a value of type undefined | Files.

Returns the file object in a list.Returns when all chunks have been uploaded but not yet processed.

Inspect the upload session to get more information about the progress of processing the chunks, then retry committing the file when all chunks have processed.

Upload big file

Starts the process of chunk uploading a big file. Should return a File object representing uploaded file.

This operation is performed by calling function uploadBigFile.

await client.chunkedUploads.uploadBigFile(
  generateByteStreamFromBuffer(fileBuffer),
  fileName,
  fileSize,
  parentFolderId,
);

Arguments

Returns

This function returns a value of type FileFull.

Upload big file version

Starts the process of chunk uploading a new version of a big file. Should return a File object representing the uploaded file version. Returns nothing when commit responds with 202 because the file did not change.

This operation is performed by calling function uploadBigFileVersion.

await client.chunkedUploads.uploadBigFileVersion(
  uploadedFile.id,
  generateByteStream(versionFileSize),
  versionFileSize,
  versionName,
);

Arguments

Returns

This function returns a value of type undefined | FileFull.