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,8 @@ } } -async function assignHolder(holder: string, hash: string): Promise { +async function assignHolder(params: BlobDescriptor): Promise { + const { hash, holder } = params; const assignHolderResponse = await fetch( makeBlobServiceEndpointURL(blobService.httpEndpoints.ASSIGN_HOLDER), { @@ -49,9 +55,10 @@ } } -async function upload(blob: Blob, hash: string, holder: string): Promise { +async function upload(blob: Blob, params: BlobDescriptor): Promise { + const { hash, holder } = params; 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 +92,7 @@ return { found: true, blob }; } -type DeleteBlobParams = { - +hash: string, - +holder: string, -}; -async function deleteBlob(params: DeleteBlobParams, instant?: boolean) { +async function deleteBlob(params: BlobDescriptor, instant?: boolean) { const { hash, holder } = params; const endpoint = blobService.httpEndpoints.DELETE_BLOB; const url = makeBlobServiceEndpointURL(endpoint);