From 42323cb8c460d04ce5bcd569848483893df844d2 Mon Sep 17 00:00:00 2001 From: claudiaHash <49017601+claudiaHash@users.noreply.github.com> Date: Wed, 19 Jan 2022 18:30:04 +0200 Subject: [PATCH] Use asset's ddo.purgatory (#1006) * set purgatory state * merge v4 changes, use ddo.purgatory * delete commented code, fix verification * unused files and function deleted, small fix * comment removed * use purgatory.state for filtering assets * remove unnecessary check Co-authored-by: ClaudiaHolhos --- src/@context/Asset.tsx | 20 +++----------------- src/@utils/aquarius.ts | 2 +- src/@utils/purgatory.ts | 10 ---------- src/components/Asset/AssetContent/index.tsx | 10 ++++------ 4 files changed, 8 insertions(+), 34 deletions(-) diff --git a/src/@context/Asset.tsx b/src/@context/Asset.tsx index ba1eb5d28..763369695 100644 --- a/src/@context/Asset.tsx +++ b/src/@context/Asset.tsx @@ -8,7 +8,6 @@ import React, { ReactNode } from 'react' import { Asset, Config, LoggerInstance, Purgatory } from '@oceanprotocol/lib' -import getAssetPurgatoryData from '@utils/purgatory' import { CancelToken } from 'axios' import { retrieveDDO } from '@utils/aquarius' import { getPrice } from '@utils/subgraph' @@ -83,19 +82,6 @@ function AssetProvider({ setLoading(false) } - const setPurgatory = useCallback(async (did: string): Promise => { - if (!did) return - - try { - const result = await getAssetPurgatoryData(did) - const isInPurgatory = result?.state === true - setIsInPurgatory(isInPurgatory) - isInPurgatory && setPurgatoryData(result) - } catch (error) { - LoggerInstance.error(error) - } - }, []) - // ----------------------------------- // Get and set DDO based on passed DID // ----------------------------------- @@ -111,9 +97,9 @@ function AssetProvider({ setDDO(ddo) setTitle(ddo.metadata.name) setOwner(ddo.nft.owner) - // TODO: restore asset purgatory once Aquarius supports it, ref #953 - // setIsInPurgatory(ddo.purgatory.state === true) - await setPurgatory(ddo.id) + setIsInPurgatory(ddo.purgatory?.state) + setPurgatoryData(ddo.purgatory) + // setPurgatory(ddo.purgatory) } init() return () => { diff --git a/src/@utils/aquarius.ts b/src/@utils/aquarius.ts index 2490506d3..7aa527b51 100644 --- a/src/@utils/aquarius.ts +++ b/src/@utils/aquarius.ts @@ -48,7 +48,7 @@ export function generateBaseQuery( getFilterTerm('_index', 'aquarius'), ...(baseQueryParams.ignorePurgatory ? [] - : [getFilterTerm('stats.isInPurgatory', 'false')]) + : [getFilterTerm('purgatory.state', 'false')]) ] } } diff --git a/src/@utils/purgatory.ts b/src/@utils/purgatory.ts index c54ace6fb..9d9dae043 100644 --- a/src/@utils/purgatory.ts +++ b/src/@utils/purgatory.ts @@ -8,16 +8,6 @@ export interface PurgatoryDataAccount { reason: string } -export default async function getAssetPurgatoryData( - did: string -): Promise { - const data = (await fetchData( - `${purgatoryUrl}asset?did=${did}` - )) as Purgatory[] - - return { state: data[0]?.state, reason: data[0]?.reason } -} - export async function getAccountPurgatoryData( address: string ): Promise { diff --git a/src/components/Asset/AssetContent/index.tsx b/src/components/Asset/AssetContent/index.tsx index a5029e4d5..e22933bab 100644 --- a/src/components/Asset/AssetContent/index.tsx +++ b/src/components/Asset/AssetContent/index.tsx @@ -35,9 +35,9 @@ export default function AssetContent({
- {price?.datatoken && } + {price?.datatoken !== null && } - {isInPurgatory ? ( + {isInPurgatory === true ? ( - {price?.datatoken && } - {price?.datatoken && debug === true && ( - - )} + + {debug === true && }