mirror of
https://github.com/oceanprotocol/react.git
synced 2025-02-14 21:10:38 +01:00
search and getPublished (is a static search)
This commit is contained in:
parent
e6c9eec679
commit
4480a92270
@ -1,3 +1,4 @@
|
||||
export * from './useConsume'
|
||||
export * from './useMetadata'
|
||||
export * from './useCompute'
|
||||
export * from './useSearch'
|
||||
|
1
src/hooks/useSearch/index.ts
Normal file
1
src/hooks/useSearch/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export * from './useSearch'
|
69
src/hooks/useSearch/useSearch.ts
Normal file
69
src/hooks/useSearch/useSearch.ts
Normal file
@ -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<QueryResult>
|
||||
getPublishedList: (
|
||||
account: string,
|
||||
page: number,
|
||||
offset: number
|
||||
) => Promise<QueryResult>
|
||||
searchError?: string
|
||||
}
|
||||
|
||||
function useSearch(): UseSearch {
|
||||
const { ocean, account, config } = useOcean()
|
||||
const [searchError, setSearchError] = useState<string | undefined>()
|
||||
|
||||
async function searchQuery(query: SearchQuery): Promise<QueryResult> {
|
||||
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<QueryResult> {
|
||||
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
|
Loading…
Reference in New Issue
Block a user