From 4e0bc09f8c15f98757eb6206d14acb97475f2924 Mon Sep 17 00:00:00 2001 From: Norbi <37236152+KatunaNorbert@users.noreply.github.com> Date: Wed, 7 Jul 2021 09:45:20 +0300 Subject: [PATCH] Adapt Aquarius queries to chainId (#667) * wip * get latest assets from multiple networks * updated queryMetadata function in components * added new multinetwork aquarius api * Use ddo chainId for AssetType inside teaser * added chainId filter to queries from home page * put chainId query string in parenthesis * search filter by chainIds * updated getDoo and getAssetName functions * removed logs and fixed lint errors * updated get published assets query * adapted bookmarks aquarius call to multinetwork * removed temporary ddo Co-authored-by: Norbi --- README.md | 7 ++-- src/components/atoms/AssetType.tsx | 15 +++----- src/components/molecules/AssetListTitle.tsx | 6 +--- src/components/molecules/AssetTeaser.tsx | 3 +- src/components/molecules/Bookmarks.tsx | 22 ++++++------ src/components/molecules/PoolTransactions.tsx | 1 + .../organisms/AssetActions/Compute/index.tsx | 3 +- .../Edit/FormEditComputeDataset.tsx | 8 ++--- .../organisms/AssetContent/MetaMain.tsx | 1 + .../pages/History/ComputeJobs/Details.tsx | 6 +--- .../pages/History/ComputeJobs/index.tsx | 33 +++++++++-------- src/components/pages/History/Downloads.tsx | 6 +--- .../pages/History/PublishedList.tsx | 15 ++++---- src/components/pages/Home.tsx | 20 ++++++----- src/components/templates/Search/index.tsx | 11 ++++-- src/components/templates/Search/utils.ts | 20 +++++++++-- src/providers/Asset.tsx | 15 +++----- src/providers/Ocean.tsx | 11 ++---- src/utils/aquarius.ts | 36 +++++++++---------- 19 files changed, 119 insertions(+), 120 deletions(-) diff --git a/README.md b/README.md index c3ee064df..5f4622fb5 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ const queryLatest = { offset: 9, query: { // https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html + query_string: { query: `-isInPurgatory:true` } }, sort: { created: -1 } @@ -141,11 +142,7 @@ function Component() { const source = axios.CancelToken.source() async function init() { - const result = await queryMetadata( - query, - appConfig.metadataCacheUri, - source.token - ) + const result = await queryMetadata(query, source.token) setResult(result) } init() diff --git a/src/components/atoms/AssetType.tsx b/src/components/atoms/AssetType.tsx index 7a3878551..17166fef9 100644 --- a/src/components/atoms/AssetType.tsx +++ b/src/components/atoms/AssetType.tsx @@ -5,21 +5,20 @@ import { ReactComponent as Compute } from '../../images/compute.svg' import { ReactComponent as Download } from '../../images/download.svg' import { ReactComponent as Lock } from '../../images/lock.svg' import NetworkName from './NetworkName' -import { useOcean } from '../../providers/Ocean' const cx = classNames.bind(styles) export default function AssetType({ type, accessType, - className + className, + chainId }: { type: string accessType: string + chainId: number className?: string }): ReactElement { - const { config } = useOcean() - const styleClasses = cx({ [className]: className }) @@ -37,12 +36,8 @@ export default function AssetType({ {type === 'dataset' ? 'data set' : 'algorithm'} {/* TODO: networkId needs to come from the multinetwork DDO for each asset */} - {(config?.networkId || 1) && ( - + {chainId && ( + )} ) diff --git a/src/components/molecules/AssetListTitle.tsx b/src/components/molecules/AssetListTitle.tsx index 815a7f8d2..9fb6a7535 100644 --- a/src/components/molecules/AssetListTitle.tsx +++ b/src/components/molecules/AssetListTitle.tsx @@ -30,11 +30,7 @@ export default function AssetListTitle({ const source = axios.CancelToken.source() async function getAssetName() { - const title = await getAssetsNames( - [did], - appConfig.metadataCacheUri, - source.token - ) + const title = await getAssetsNames([did], source.token) setAssetTitle(title[did]) } diff --git a/src/components/molecules/AssetTeaser.tsx b/src/components/molecules/AssetTeaser.tsx index 82e91f9ae..f96fe3330 100644 --- a/src/components/molecules/AssetTeaser.tsx +++ b/src/components/molecules/AssetTeaser.tsx @@ -11,7 +11,7 @@ import { useOcean } from '../../providers/Ocean' import styles from './AssetTeaser.module.css' declare type AssetTeaserProps = { - ddo: DDO + ddo: any price: BestPrice } @@ -42,6 +42,7 @@ const AssetTeaser: React.FC = ({ type={type} accessType={accessType} className={styles.typeDetails} + chainId={ddo.chainId} />
diff --git a/src/components/molecules/Bookmarks.tsx b/src/components/molecules/Bookmarks.tsx index 9fbeff3f3..0bd73a8c0 100644 --- a/src/components/molecules/Bookmarks.tsx +++ b/src/components/molecules/Bookmarks.tsx @@ -6,13 +6,16 @@ import { useOcean } from '../../providers/Ocean' import Price from '../atoms/Price' import Tooltip from '../atoms/Tooltip' import AssetTitle from './AssetListTitle' -import { queryMetadata } from '../../utils/aquarius' +import { + queryMetadata, + transformChainIdsListToQuery +} from '../../utils/aquarius' import axios, { CancelToken } from 'axios' import { useSiteMetadata } from '../../hooks/useSiteMetadata' async function getAssetsBookmarked( bookmarks: string[], - metadataCacheUri: string, + chainIds: number[], cancelToken: CancelToken ) { const searchDids = JSON.stringify(bookmarks) @@ -27,7 +30,9 @@ async function getAssetsBookmarked( offset: 100, query: { query_string: { - query: searchDids, + query: `(${searchDids}) AND (${transformChainIdsListToQuery( + chainIds + )})`, fields: ['dataToken'], default_operator: 'OR' } @@ -36,11 +41,7 @@ async function getAssetsBookmarked( } try { - const result = await queryMetadata( - queryBookmarks, - metadataCacheUri, - cancelToken - ) + const result = await queryMetadata(queryBookmarks, cancelToken) return result } catch (error) { @@ -84,6 +85,7 @@ export default function Bookmarks(): ReactElement { const [pinned, setPinned] = useState() const [isLoading, setIsLoading] = useState() + const { chainIds } = useUserPreferences() useEffect(() => { if (!appConfig.metadataCacheUri || bookmarks === []) return @@ -101,7 +103,7 @@ export default function Bookmarks(): ReactElement { try { const resultPinned = await getAssetsBookmarked( bookmarks, - appConfig.metadataCacheUri, + chainIds, source.token ) setPinned(resultPinned?.results) @@ -116,7 +118,7 @@ export default function Bookmarks(): ReactElement { return () => { source.cancel() } - }, [bookmarks, appConfig.metadataCacheUri]) + }, [bookmarks, chainIds]) return ( (