From da0c428e5906d5e6f1877a67a925dd964e174d84 Mon Sep 17 00:00:00 2001 From: EnzoVezzaro Date: Mon, 12 Sep 2022 08:49:37 -0400 Subject: [PATCH] retrieveShaclSchema from aquarius --- src/@utils/aquarius.ts | 21 +++++++++++++++++++++ src/components/Publish/index.tsx | 18 +++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/@utils/aquarius.ts b/src/@utils/aquarius.ts index 5ca056db2..a48df0baa 100644 --- a/src/@utils/aquarius.ts +++ b/src/@utils/aquarius.ts @@ -140,6 +140,27 @@ export async function retrieveAsset( } } +export async function retrieveShaclSchema( + cancelToken: CancelToken +): Promise { + try { + const response: AxiosResponse = await axios.get( + `${metadataCacheUri}/api/aquarius/validation/schema`, + { cancelToken } + ) + if (!response || response.status !== 200 || !response.data) return + + const data = { ...response.data } + return data + } catch (error) { + if (axios.isCancel(error)) { + LoggerInstance.log(error.message) + } else { + LoggerInstance.error(error.message) + } + } +} + export async function checkV3Asset( did: string, cancelToken: CancelToken diff --git a/src/components/Publish/index.tsx b/src/components/Publish/index.tsx index 7035128ba..dad8b048f 100644 --- a/src/components/Publish/index.tsx +++ b/src/components/Publish/index.tsx @@ -1,4 +1,10 @@ -import React, { ReactElement, useState, useRef } from 'react' +import React, { + ReactElement, + useState, + useRef, + useEffect, + useCallback +} from 'react' import { Form, Formik } from 'formik' import { initialPublishFeedback, initialValues } from './_constants' import { useAccountPurgatory } from '@hooks/useAccountPurgatory' @@ -19,6 +25,8 @@ import { getOceanConfig } from '@utils/ocean' import { validationSchema } from './_validation' import { useAbortController } from '@hooks/useAbortController' import { setNFTMetadataAndTokenURI } from '@utils/nft' +import { retrieveShaclSchema } from '@utils/aquarius' +import { CancelToken } from 'axios' // TODO: restore FormikPersist, add back clear form action // const formName = 'ocean-publish-form' @@ -46,6 +54,14 @@ export default function PublishPage({ const [ddoEncrypted, setDdoEncrypted] = useState() const [did, setDid] = useState() + const getShaclSchema = useCallback(async (token?: CancelToken) => { + const schema = await retrieveShaclSchema(token) + console.log(schema) + }, []) + useEffect(() => { + getShaclSchema() + }, []) + // -------------------------------------------------- // 1. Create NFT & datatokens & create pricing schema // --------------------------------------------------