mirror of
https://github.com/langgenius/dify.git
synced 2026-05-30 13:47:52 +08:00
57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
import { type } from '@orpc/contract'
|
|
import { base } from '../base'
|
|
|
|
type WorkspaceListItem = {
|
|
id: string
|
|
name: string
|
|
plan: string
|
|
status: string
|
|
created_at: number
|
|
current: boolean
|
|
}
|
|
|
|
export type GetWorkspacesResponse = {
|
|
workspaces: WorkspaceListItem[]
|
|
}
|
|
|
|
export type SwitchWorkspaceRequest = {
|
|
tenant_id: string
|
|
}
|
|
|
|
type SwitchedWorkspace = {
|
|
id: string
|
|
name: string | null
|
|
plan: string | null
|
|
status: string | null
|
|
created_at: number | null
|
|
role: string | null
|
|
in_trial: boolean | null
|
|
trial_end_reason: string | null
|
|
custom_config: Record<string, unknown> | null
|
|
trial_credits: number | null
|
|
trial_credits_used: number | null
|
|
next_credit_reset_date: number | null
|
|
}
|
|
|
|
export type SwitchWorkspaceResponse = {
|
|
result: 'success' | 'fail'
|
|
new_tenant: SwitchedWorkspace
|
|
}
|
|
|
|
export const workspacesGetContract = base
|
|
.route({
|
|
path: '/workspaces',
|
|
method: 'GET',
|
|
})
|
|
.output(type<GetWorkspacesResponse>())
|
|
|
|
export const workspaceSwitchContract = base
|
|
.route({
|
|
path: '/workspaces/switch',
|
|
method: 'POST',
|
|
})
|
|
.input(type<{
|
|
body: SwitchWorkspaceRequest
|
|
}>())
|
|
.output(type<SwitchWorkspaceResponse>())
|