From 76471f367784360725ff05784a0b017be7c947c9 Mon Sep 17 00:00:00 2001 From: "Miquel A. Cabot" Date: Thu, 14 Jul 2022 13:35:49 +0200 Subject: [PATCH] add getAssetMetadata() function --- src/aquarius/Aquarius.ts | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/aquarius/Aquarius.ts b/src/aquarius/Aquarius.ts index 035c7f16..e3a65967 100644 --- a/src/aquarius/Aquarius.ts +++ b/src/aquarius/Aquarius.ts @@ -146,6 +146,37 @@ export class Aquarius { return status } + /** + * Search over the DDOs using a query. + * @param {string} did DID of the asset + * @param {AbortSignal} signal abort signal + * @return {Promise} + */ + public async getAssetMetadata(did: string, signal?: AbortSignal): Promise { + const path = this.aquariusURL + '/api/aquarius/assets/metadata/' + did + + try { + const response = await fetch(path, { + method: 'GET', + headers: { + 'Content-Type': 'application/json' + }, + signal: signal + }) + + if (response.ok) { + return response.json() + } else { + throw new Error( + 'getAssetMetadata failed: ' + response.status + response.statusText + ) + } + } catch (error) { + LoggerInstance.error('Error getting metadata: ', error) + throw new Error('Error getting metadata: ', error) + } + } + /** * Search over the DDOs using a query. * @param {SearchQuery} query Query to filter the DDOs. @@ -168,8 +199,7 @@ export class Aquarius { if (response.ok) { return response.json() } else { - LoggerInstance.error('querySearch failed: ', response.status, response.statusText) - return null + throw new Error('querySearch failed: ' + response.status + response.statusText) } } catch (error) { LoggerInstance.error('Error querying metadata: ', error)