mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-01-19 11:45:10 +08:00
### What problem does this PR solve? Feat: Flatten the request schema of the webhook #10427 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
82 lines
2.0 KiB
TypeScript
82 lines
2.0 KiB
TypeScript
import { WebhookAlgorithmList } from '@/constants/agent';
|
|
import { z } from 'zod';
|
|
|
|
export const BeginFormSchema = z.object({
|
|
enablePrologue: z.boolean().optional(),
|
|
prologue: z.string().trim().optional(),
|
|
mode: z.string(),
|
|
inputs: z
|
|
.array(
|
|
z.object({
|
|
key: z.string(),
|
|
type: z.string(),
|
|
value: z.string(),
|
|
optional: z.boolean(),
|
|
name: z.string(),
|
|
options: z.array(z.union([z.number(), z.string(), z.boolean()])),
|
|
}),
|
|
)
|
|
.optional(),
|
|
methods: z.array(z.string()).optional(),
|
|
content_types: z.string().optional(),
|
|
security: z
|
|
.object({
|
|
auth_type: z.string(),
|
|
ip_whitelist: z.array(z.object({ value: z.string() })),
|
|
rate_limit: z.object({
|
|
limit: z.number(),
|
|
per: z.string().optional(),
|
|
}),
|
|
max_body_size: z.string(),
|
|
jwt: z
|
|
.object({
|
|
algorithm: z.string().default(WebhookAlgorithmList[0]).optional(),
|
|
})
|
|
.optional(),
|
|
})
|
|
.optional(),
|
|
schema: z
|
|
.object({
|
|
query: z
|
|
.array(
|
|
z.object({
|
|
key: z.string(),
|
|
type: z.string(),
|
|
required: z.boolean(),
|
|
}),
|
|
)
|
|
.optional(),
|
|
headers: z
|
|
.array(
|
|
z.object({
|
|
key: z.string(),
|
|
type: z.string(),
|
|
required: z.boolean(),
|
|
}),
|
|
)
|
|
.optional(),
|
|
body: z
|
|
.array(
|
|
z.object({
|
|
key: z.string(),
|
|
type: z.string(),
|
|
required: z.boolean(),
|
|
}),
|
|
)
|
|
.optional(),
|
|
})
|
|
.optional(),
|
|
response: z
|
|
.object({
|
|
status: z.number(),
|
|
headers_template: z.array(
|
|
z.object({ key: z.string(), value: z.string() }),
|
|
),
|
|
body_template: z.array(z.object({ key: z.string(), value: z.string() })),
|
|
})
|
|
.optional(),
|
|
execution_mode: z.string().optional(),
|
|
});
|
|
|
|
export type BeginFormSchemaType = z.infer<typeof BeginFormSchema>;
|