mirror of
https://github.com/langgenius/dify.git
synced 2026-09-06 01:04:49 +08:00
30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import { dehydrate } from '@tanstack/react-query'
|
|
import { cache } from 'react'
|
|
import { getQueryClient } from '@/app/get-query-client'
|
|
import { connection } from '@/next/server'
|
|
import { serverConsoleQuery } from '@/service/server'
|
|
import 'server-only'
|
|
|
|
const getRequestQueryClient = cache(getQueryClient)
|
|
|
|
const systemFeaturesServerQueryOptions = () =>
|
|
serverConsoleQuery.systemFeatures.get.queryOptions({ staleTime: 'static' })
|
|
|
|
export const getOptionalSystemFeatures = async () => {
|
|
await connection()
|
|
const queryClient = getRequestQueryClient()
|
|
const queryOptions = systemFeaturesServerQueryOptions()
|
|
const queryState = queryClient.getQueryState(queryOptions.queryKey)
|
|
|
|
if (queryState?.status === 'error' && queryState.data === undefined) return undefined
|
|
|
|
return queryClient.query(queryOptions).catch(() => undefined)
|
|
}
|
|
|
|
export const getSystemFeatures = async () => {
|
|
await connection()
|
|
return getRequestQueryClient().query(systemFeaturesServerQueryOptions())
|
|
}
|
|
|
|
export const dehydrateSystemFeatures = () => dehydrate(getRequestQueryClient())
|