Files
dify/web/service/console-router-loader.ts
Stephen Zhou 61650d34ce refactor(web): remove custom console contract loaders (#38284)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-02 03:32:02 +00:00

29 lines
947 B
TypeScript

import type { AnyContractRouter } from '@orpc/contract'
import { contractLoaders } from '@dify/contracts/api/console/orpc.gen'
const generatedConsoleContractLoaders: Partial<Record<string, () => Promise<AnyContractRouter>>> = contractLoaders
async function loadGeneratedConsoleContract(segment: string) {
const loader = generatedConsoleContractLoaders[segment]
if (!loader)
return null
return loader()
}
async function loadEnterpriseContract(): Promise<AnyContractRouter> {
const { contract } = await import('@dify/contracts/enterprise/orpc.gen')
return { enterprise: contract }
}
export async function loadConsoleContractForSegment(segment: string) {
if (segment === 'enterprise')
return loadEnterpriseContract()
const generatedContract = await loadGeneratedConsoleContract(segment)
if (generatedContract)
return generatedContract
throw new Error(`Console contract segment "${segment}" is not configured.`)
}