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 @@ -109,4 +109,24 @@ return { found: true, blob }; } -export { upload, uploadBlob, assignHolder, download }; +type DeleteBlobParams = { + +hash: string, + +holder: string, +}; +async function deleteBlob(params: DeleteBlobParams, instant?: boolean) { + const { hash, holder } = params; + const endpoint = blobService.httpEndpoints.DELETE_BLOB; + const url = makeBlobServiceEndpointURL(endpoint); + const headers = await createRequestHeaders(); + await fetch(url, { + method: endpoint.method, + body: JSON.stringify({ + holder, + blob_hash: hash, + instant_delete: !!instant, + }), + headers, + }); +} + +export { upload, uploadBlob, assignHolder, download, deleteBlob };