mirror of
https://github.com/langgenius/dify.git
synced 2026-09-07 01:43:41 +08:00
Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: fatelei <fatelei@gmail.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: CodingOnStar <hanxujiang@dify.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: 姜涵煦 <hanxujiang@jianghanxudeMacBook-Pro-2.local> Co-authored-by: L1nSn0w <l1nsn0w@qq.com> Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
import type { MarketPlaceInputs, PluginsSearchParams } from '@dify/contracts/marketplace'
|
|
import { useInfiniteQuery, useQuery } from '@tanstack/react-query'
|
|
import { marketplaceQuery } from '@/service/client'
|
|
import { getMarketplacePluginsInfiniteQueryOptions } from './query-options'
|
|
import { getMarketplaceCollectionsAndPlugins } from './utils'
|
|
|
|
export function useMarketplaceCollectionsAndPlugins(
|
|
collectionsParams: MarketPlaceInputs['collections']['query'],
|
|
enabled = true,
|
|
) {
|
|
return useQuery({
|
|
queryKey: marketplaceQuery.collections.queryKey({ input: { query: collectionsParams } }),
|
|
queryFn: ({ signal }) => getMarketplaceCollectionsAndPlugins(collectionsParams, { signal }),
|
|
enabled,
|
|
// Matches the plugins query: the shared client default of 3 retries holds
|
|
// isFetching true for ~7s of backoff, which the catalog renders as a
|
|
// spinner indistinguishable from a hang.
|
|
retry: false,
|
|
})
|
|
}
|
|
|
|
export function useMarketplacePlugins(queryParams: PluginsSearchParams | undefined) {
|
|
return useInfiniteQuery(getMarketplacePluginsInfiniteQueryOptions(queryParams))
|
|
}
|