create.config.ts
3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import { useRuleChainI18n } from '../../../hook/useRuleChainI18n';
import { FormSchema } from '/@/components/Form';
const { tLabel, tPlaceholder, t } = useRuleChainI18n('enrichment', 'originatorAttributes');
export enum OriginatorAttributesFieldsEnum {
  TELL_FAILURE_IF_ABSENT = 'tellFailureIfAbsent',
  CLIENT_ATTRIBUTE_NAMES = 'clientAttributeNames',
  SHARED_ATTRIBUTE_NAMES = 'sharedAttributeNames',
  SERVER_ATTRIBUTE_NAMES = 'serverAttributeNames',
  LATEST_TS_KEY_NAMES = 'latestTsKeyNames',
  GET_LATEST_VALUE_WITH_TS = 'getLatestValueWithTs',
}
export const formSchemas: FormSchema[] = [
  {
    field: OriginatorAttributesFieldsEnum.TELL_FAILURE_IF_ABSENT,
    component: 'Checkbox',
    label: tLabel(OriginatorAttributesFieldsEnum.TELL_FAILURE_IF_ABSENT),
    renderComponentContent: () => ({
      default: () =>
        'If at least one selected key doesn\'t exist the outbound message will report "Failure".',
    }),
  },
  {
    field: OriginatorAttributesFieldsEnum.CLIENT_ATTRIBUTE_NAMES,
    component: 'Select',
    label: tLabel(OriginatorAttributesFieldsEnum.CLIENT_ATTRIBUTE_NAMES),
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: tPlaceholder(OriginatorAttributesFieldsEnum.CLIENT_ATTRIBUTE_NAMES),
    },
  },
  {
    field: OriginatorAttributesFieldsEnum.SHARED_ATTRIBUTE_NAMES,
    component: 'Select',
    label: tLabel(OriginatorAttributesFieldsEnum.SHARED_ATTRIBUTE_NAMES),
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: tPlaceholder(OriginatorAttributesFieldsEnum.SHARED_ATTRIBUTE_NAMES),
    },
  },
  {
    field: OriginatorAttributesFieldsEnum.SERVER_ATTRIBUTE_NAMES,
    component: 'Select',
    label: tLabel(OriginatorAttributesFieldsEnum.SERVER_ATTRIBUTE_NAMES),
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: tPlaceholder(OriginatorAttributesFieldsEnum.SERVER_ATTRIBUTE_NAMES),
    },
  },
  {
    field: OriginatorAttributesFieldsEnum.LATEST_TS_KEY_NAMES,
    component: 'Select',
    label: tLabel(OriginatorAttributesFieldsEnum.LATEST_TS_KEY_NAMES),
    // required: true,
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: tPlaceholder(OriginatorAttributesFieldsEnum.LATEST_TS_KEY_NAMES),
    },
  },
  {
    field: OriginatorAttributesFieldsEnum.GET_LATEST_VALUE_WITH_TS,
    component: 'Checkbox',
    label: tLabel(OriginatorAttributesFieldsEnum.GET_LATEST_VALUE_WITH_TS),
    renderComponentContent: () => ({
      default: () =>
        t('rule.chain.enrichment.originatorAttributes.fields.getLatestValueWithTsDesc'),
    }),
  },
];