mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-09-16 14:57:15 +00:00
feat(n8n-runner): support async response handling (#2487)
* feat(n8n-runner): support async response handling * fix(n8n-runner): expose response handling in form * fix(n8n-runner): preserve async response semantics --------- Co-authored-by: dadachann <185672915+dadachann@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
const COMMON_N8N_CONFIG_FIELDS = new Set([
|
||||
'webhook-url',
|
||||
'auth-type',
|
||||
'timeout',
|
||||
'output-key',
|
||||
'response-handling',
|
||||
]);
|
||||
|
||||
export function shouldShowN8nConfigField(
|
||||
fieldName: string,
|
||||
authType: string,
|
||||
): boolean {
|
||||
if (COMMON_N8N_CONFIG_FIELDS.has(fieldName)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return (
|
||||
(authType === 'basic' && fieldName.startsWith('basic-')) ||
|
||||
(authType === 'jwt' && fieldName.startsWith('jwt-')) ||
|
||||
(authType === 'header' && fieldName.startsWith('header-'))
|
||||
);
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import {
|
||||
import { IDynamicFormItemSchema } from '@/app/infra/entities/form/dynamic';
|
||||
import DynamicFormItemComponent from '@/app/home/components/dynamic-form/DynamicFormItemComponent';
|
||||
import { normalizeDynamicFormValuesForSave } from '@/app/home/components/dynamic-form/DynamicFormSaveValues';
|
||||
import { shouldShowN8nConfigField } from '@/app/home/components/dynamic-form/N8nAuthFieldVisibility';
|
||||
import { extractI18nObject } from '@/i18n/I18nProvider';
|
||||
|
||||
/**
|
||||
@@ -181,29 +182,9 @@ export default function N8nAuthFormComponent({
|
||||
}, [form, itemConfigList]);
|
||||
|
||||
// 根据认证类型过滤表单项
|
||||
const filteredConfigList = itemConfigList.filter((config) => {
|
||||
// 始终显示webhook-url、auth-type、timeout和output-key
|
||||
if (
|
||||
['webhook-url', 'auth-type', 'timeout', 'output-key'].includes(
|
||||
config.name,
|
||||
)
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// 根据认证类型显示相应的表单项
|
||||
if (authType === 'basic' && config.name.startsWith('basic-')) {
|
||||
return true;
|
||||
}
|
||||
if (authType === 'jwt' && config.name.startsWith('jwt-')) {
|
||||
return true;
|
||||
}
|
||||
if (authType === 'header' && config.name.startsWith('header-')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
const filteredConfigList = itemConfigList.filter((config) =>
|
||||
shouldShowN8nConfigField(config.name, authType),
|
||||
);
|
||||
|
||||
return (
|
||||
<Form {...form}>
|
||||
|
||||
Reference in New Issue
Block a user