|
@@ -0,0 +1,109 @@
|
|
|
|
|
+import { NodeConnectionTypes, type INodeType, type INodeDataBaseSchema } from '../../Interface'
|
|
|
|
|
+
|
|
|
|
|
+export type WebhookData = INodeDataBaseSchema & {
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 异步模式
|
|
|
|
|
+ */
|
|
|
|
|
+ async_mode: boolean
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * webhook地址,系统自动获取
|
|
|
|
|
+ */
|
|
|
|
|
+ webhook_url: string
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * webhook的调试地址,系统自动获取
|
|
|
|
|
+ */
|
|
|
|
|
+ webhook_debug_url: string
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 内容类型
|
|
|
|
|
+ * 可选值: application/json, application/x-www-form-urlencoded, text/plain, multipart/form-data
|
|
|
|
|
+ */
|
|
|
|
|
+ content_type:
|
|
|
|
|
+ | 'application/json'
|
|
|
|
|
+ | 'application/x-www-form-urlencoded'
|
|
|
|
|
+ | 'text/plain'
|
|
|
|
|
+ | 'multipart/form-data'
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 请求头配置
|
|
|
|
|
+ */
|
|
|
|
|
+ headers: Array<{
|
|
|
|
|
+ name: string
|
|
|
|
|
+ required: boolean
|
|
|
|
|
+ }>
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * URL参数配置
|
|
|
|
|
+ */
|
|
|
|
|
+ params: Array<{
|
|
|
|
|
+ name: string
|
|
|
|
|
+ type: 'string' | 'number' | 'boolean'
|
|
|
|
|
+ required: boolean
|
|
|
|
|
+ }>
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * body参数配置
|
|
|
|
|
+ */
|
|
|
|
|
+ body: Array<{
|
|
|
|
|
+ name: string
|
|
|
|
|
+ type:
|
|
|
|
|
+ | 'string'
|
|
|
|
|
+ | 'number'
|
|
|
|
|
+ | 'boolean'
|
|
|
|
|
+ | 'object'
|
|
|
|
|
+ | 'array[string]'
|
|
|
|
|
+ | 'array[number]'
|
|
|
|
|
+ | 'array[boolean]'
|
|
|
|
|
+ | 'array[object]'
|
|
|
|
|
+ required: boolean
|
|
|
|
|
+ }>
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 响应内容类型
|
|
|
|
|
+ * 可选值: application/json, application/x-www-form-urlencoded, text/plain, multipart/form-data
|
|
|
|
|
+ */
|
|
|
|
|
+ response_content_type:
|
|
|
|
|
+ | 'application/json'
|
|
|
|
|
+ | 'application/x-www-form-urlencoded'
|
|
|
|
|
+ | 'text/plain'
|
|
|
|
|
+ | 'multipart/form-data'
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 响应内容
|
|
|
|
|
+ */
|
|
|
|
|
+ response_body: string
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 响应码
|
|
|
|
|
+ */
|
|
|
|
|
+ response_status_code: number
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+export const webhookNode: INodeType = {
|
|
|
|
|
+ version: ['1'],
|
|
|
|
|
+ displayName: 'Webhook触发',
|
|
|
|
|
+ name: 'trigger-webhook',
|
|
|
|
|
+ description: '可用于第三方系统http推送请求触发',
|
|
|
|
|
+ group: '开始',
|
|
|
|
|
+ icon: 'lucide:webhook',
|
|
|
|
|
+ iconColor: '#2e90fa',
|
|
|
|
|
+ inputs: [],
|
|
|
|
|
+ outputs: [NodeConnectionTypes.main],
|
|
|
|
|
+ // 业务数据
|
|
|
|
|
+ schema: {
|
|
|
|
|
+ appAgentId: '',
|
|
|
|
|
+ parentId: '',
|
|
|
|
|
+ position: {
|
|
|
|
|
+ x: 20,
|
|
|
|
|
+ y: 30
|
|
|
|
|
+ },
|
|
|
|
|
+ width: 96,
|
|
|
|
|
+ height: 96,
|
|
|
|
|
+ selected: false,
|
|
|
|
|
+ nodeType: 'trigger-webhook',
|
|
|
|
|
+ zIndex: 1,
|
|
|
|
|
+ data: {}
|
|
|
|
|
+ }
|
|
|
|
|
+}
|