diff --git a/keyserver/src/push/utils.js b/keyserver/src/push/utils.js --- a/keyserver/src/push/utils.js +++ b/keyserver/src/push/utils.js @@ -408,7 +408,10 @@ try { const { encryptionKey, encryptedPayload, encryptedPayloadHash } = await encryptBlobPayload(payload); - await upload(encryptedPayload, encryptedPayloadHash, blobHolder); + await upload(encryptedPayload, { + hash: encryptedPayloadHash, + holder: blobHolder, + }); return { blobHash: encryptedPayloadHash, encryptionKey, diff --git a/keyserver/src/services/blob.js b/keyserver/src/services/blob.js --- a/keyserver/src/services/blob.js +++ b/keyserver/src/services/blob.js @@ -7,6 +7,11 @@ } from 'lib/utils/blob-service.js'; import { getMessageForException } from 'lib/utils/errors.js'; +type BlobDescriptor = { + +hash: string, + +holder: string, +}; + async function uploadBlob(blob: Blob, hash: string): Promise { const formData = new FormData(); formData.append('blob_hash', hash); @@ -26,7 +31,7 @@ } } -async function assignHolder(holder: string, hash: string): Promise { +async function assignHolder({ hash, holder }: BlobDescriptor): Promise { const assignHolderResponse = await fetch( makeBlobServiceEndpointURL(blobService.httpEndpoints.ASSIGN_HOLDER), { @@ -49,9 +54,12 @@ } } -async function upload(blob: Blob, hash: string, holder: string): Promise { +async function upload( + blob: Blob, + { hash, holder }: BlobDescriptor, +): Promise { try { - await Promise.all([assignHolder(holder, hash), uploadBlob(blob, hash)]); + await Promise.all([assignHolder({ hash, holder }), uploadBlob(blob, hash)]); } catch (e) { throw new Error( `Payload upload failed with: ${ @@ -85,11 +93,7 @@ return { found: true, blob }; } -type DeleteBlobParams = { - +hash: string, - +holder: string, -}; -async function deleteBlob({ hash, holder }: DeleteBlobParams) { +async function deleteBlob({ hash, holder }: BlobDescriptor) { const endpoint = blobService.httpEndpoints.DELETE_BLOB; const url = makeBlobServiceEndpointURL(endpoint); await fetch(url, {