From 4480a92270f620517288aa86fe41778b8bced584 Mon Sep 17 00:00:00 2001 From: mihaisc Date: Wed, 6 May 2020 15:24:20 +0300 Subject: [PATCH 1/3] search and getPublished (is a static search) --- src/hooks/index.ts | 1 + src/hooks/useSearch/index.ts | 1 + src/hooks/useSearch/useSearch.ts | 69 ++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 src/hooks/useSearch/index.ts create mode 100644 src/hooks/useSearch/useSearch.ts diff --git a/src/hooks/index.ts b/src/hooks/index.ts index 27127d3..5cff582 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -1,3 +1,4 @@ export * from './useConsume' export * from './useMetadata' export * from './useCompute' +export * from './useSearch' diff --git a/src/hooks/useSearch/index.ts b/src/hooks/useSearch/index.ts new file mode 100644 index 0000000..25e9f76 --- /dev/null +++ b/src/hooks/useSearch/index.ts @@ -0,0 +1 @@ +export * from './useSearch' diff --git a/src/hooks/useSearch/useSearch.ts b/src/hooks/useSearch/useSearch.ts new file mode 100644 index 0000000..4308b96 --- /dev/null +++ b/src/hooks/useSearch/useSearch.ts @@ -0,0 +1,69 @@ +import { useState } from 'react' +import { Logger } from '@oceanprotocol/squid' +import { useOcean } from '../../providers' +import { + SearchQuery, + Aquarius, + QueryResult +} from '@oceanprotocol/squid/dist/node/aquarius/Aquarius' + +// TODO searchText +interface UseSearch { + searchQuery: (query: SearchQuery) => Promise + getPublishedList: ( + account: string, + page: number, + offset: number + ) => Promise + searchError?: string +} + +function useSearch(): UseSearch { + const { ocean, account, config } = useOcean() + const [searchError, setSearchError] = useState() + + async function searchQuery(query: SearchQuery): Promise { + if (!ocean || !account) return + + setSearchError(undefined) + + try { + const aquarius = new Aquarius(config.aquariusUri as string, Logger) + return await aquarius.queryMetadata(query) + } catch (error) { + setSearchError(error.message) + } + } + + async function getPublishedList( + account: string, + page: number, + offset: number + ): Promise { + if (!ocean || !account) return + + setSearchError(undefined) + + try { + const searchQuery = { + page, + offset, + query: { + 'publicKey.owner': [account] + }, + sort: { + created: -1 + } + } as SearchQuery + const aquarius = new Aquarius(config.aquariusUri as string, Logger) + return await aquarius.queryMetadata(searchQuery) + } catch (error) { + setSearchError(error.message) + } + } + + return { searchQuery, getPublishedList, searchError } +} + +export { useSearch, UseSearch } +export default useSearch From 32e6a32bb6e7875b66ff2586765859b0dc1ae047 Mon Sep 17 00:00:00 2001 From: mihaisc Date: Wed, 6 May 2020 15:31:36 +0300 Subject: [PATCH 2/3] use searchQuery in getPublishedList --- src/hooks/useSearch/useSearch.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hooks/useSearch/useSearch.ts b/src/hooks/useSearch/useSearch.ts index 4308b96..4ff501e 100644 --- a/src/hooks/useSearch/useSearch.ts +++ b/src/hooks/useSearch/useSearch.ts @@ -45,7 +45,7 @@ function useSearch(): UseSearch { setSearchError(undefined) try { - const searchQuery = { + const query = { page, offset, query: { @@ -55,8 +55,8 @@ function useSearch(): UseSearch { created: -1 } } as SearchQuery - const aquarius = new Aquarius(config.aquariusUri as string, Logger) - return await aquarius.queryMetadata(searchQuery) + + return await searchQuery(query) } catch (error) { setSearchError(error.message) } From 65a0798f4b469a9fac83344b8891000626c5f0cd Mon Sep 17 00:00:00 2001 From: mihaisc Date: Wed, 6 May 2020 15:32:05 +0300 Subject: [PATCH 3/3] lint --- src/hooks/useSearch/useSearch.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/useSearch/useSearch.ts b/src/hooks/useSearch/useSearch.ts index 4ff501e..11ad469 100644 --- a/src/hooks/useSearch/useSearch.ts +++ b/src/hooks/useSearch/useSearch.ts @@ -55,7 +55,7 @@ function useSearch(): UseSearch { created: -1 } } as SearchQuery - + return await searchQuery(query) } catch (error) { setSearchError(error.message)