1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-11-14 17:24:51 +01:00

Merge pull request #409 from oceanprotocol/feature/optimize-did-fetching-in-tables

optimize did fetching in tables
This commit is contained in:
Matthias Kretschmann 2021-03-01 17:03:25 +01:00 committed by GitHub
commit 5c4c13452f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 8 deletions

View File

@ -2,7 +2,7 @@ import { DDO } from '@oceanprotocol/lib'
import { useOcean } from '@oceanprotocol/react'
import { Link } from 'gatsby'
import React, { ReactElement, useEffect, useState } from 'react'
import { retrieveDDO } from '../../utils/aquarius'
import { retrieveDDO, getAssetsNames } from '../../utils/aquarius'
import styles from './AssetListTitle.module.css'
import axios from 'axios'
@ -28,15 +28,16 @@ export default function AssetListTitle({
const source = axios.CancelToken.source()
async function getDDO() {
const ddo = await retrieveDDO(did, config.metadataCacheUri, source.token)
if (!ddo) return
const { attributes } = ddo.findServiceByType('metadata')
setAssetTitle(attributes.main.name)
async function getAssetName() {
const title = await getAssetsNames(
[did],
config.metadataCacheUri,
source.token
)
setAssetTitle(title[did])
}
!ddo && did && getDDO()
!ddo && did && getAssetName()
return () => {
console.log('canceled?')

View File

@ -73,3 +73,27 @@ export async function retrieveDDO(
}
}
}
export async function getAssetsNames(
didList: string[] | DID[],
metadataCacheUri: string,
cancelToken: CancelToken
): Promise<Record<string, string>> {
try {
const response: AxiosResponse<Record<string, string>> = await axios.post(
`${metadataCacheUri}/api/v1/aquarius/assets/names`,
{
didList,
cancelToken
}
)
if (!response || response.status !== 200 || !response.data) return
return response.data
} catch (error) {
if (axios.isCancel(error)) {
Logger.log(error.message)
} else {
Logger.error(error.message)
}
}
}