mirror of https://github.com/langgenius/dify.git
62 lines
1.7 KiB
TypeScript
62 lines
1.7 KiB
TypeScript
import type { ContractRouterClient } from '@orpc/contract'
|
|
import type { JsonifiedClient } from '@orpc/openapi-client'
|
|
import { createORPCClient, onError } from '@orpc/client'
|
|
import { OpenAPILink } from '@orpc/openapi-client/fetch'
|
|
import { createTanstackQueryUtils } from '@orpc/tanstack-query'
|
|
import {
|
|
API_PREFIX,
|
|
APP_VERSION,
|
|
IS_MARKETPLACE,
|
|
MARKETPLACE_API_PREFIX,
|
|
} from '@/config'
|
|
import {
|
|
consoleRouterContract,
|
|
marketplaceRouterContract,
|
|
} from '@/contract/router'
|
|
import { request } from './base'
|
|
|
|
const getMarketplaceHeaders = () => new Headers({
|
|
'X-Dify-Version': !IS_MARKETPLACE ? APP_VERSION : '999.0.0',
|
|
})
|
|
|
|
const marketplaceLink = new OpenAPILink(marketplaceRouterContract, {
|
|
url: MARKETPLACE_API_PREFIX,
|
|
headers: () => (getMarketplaceHeaders()),
|
|
fetch: (request, init) => {
|
|
return globalThis.fetch(request, {
|
|
...init,
|
|
cache: 'no-store',
|
|
})
|
|
},
|
|
interceptors: [
|
|
onError((error) => {
|
|
console.error(error)
|
|
}),
|
|
],
|
|
})
|
|
|
|
export const marketplaceClient: JsonifiedClient<ContractRouterClient<typeof marketplaceRouterContract>> = createORPCClient(marketplaceLink)
|
|
export const marketplaceQuery = createTanstackQueryUtils(marketplaceClient, { path: ['marketplace'] })
|
|
|
|
const consoleLink = new OpenAPILink(consoleRouterContract, {
|
|
url: API_PREFIX,
|
|
fetch: (input, init) => {
|
|
return request(
|
|
input.url,
|
|
init,
|
|
{
|
|
fetchCompat: true,
|
|
request: input,
|
|
},
|
|
)
|
|
},
|
|
interceptors: [
|
|
onError((error) => {
|
|
console.error(error)
|
|
}),
|
|
],
|
|
})
|
|
|
|
export const consoleClient: JsonifiedClient<ContractRouterClient<typeof consoleRouterContract>> = createORPCClient(consoleLink)
|
|
export const consoleQuery = createTanstackQueryUtils(consoleClient, { path: ['console'] })
|