index.ts
1.55 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
import { EnrichmentCategoryComponentEnum } from '../../../enum/category';
import { useCreateNodeKey } from '../../../hook/useCreateNodeKey';
import type { NodeItemConfigType } from '../../../types/node';
import { RuleNodeTypeEnum } from '../../index.type';
const keys = useCreateNodeKey(EnrichmentCategoryComponentEnum.CUSTOMER_ATTRIBUTES);
export interface CustomerAttributesDataType {
someConfiguration?: Recordable;
}
export const CustomerAttributesConfig: NodeItemConfigType = {
...keys,
clazz: 'org.thingsboard.rule.engine.metadata.TbGetCustomerAttributeNode',
categoryType: RuleNodeTypeEnum.ENRICHMENT,
name: 'customer attributes',
configurationDescriptor: {
nodeDefinition: {
details:
'If Attributes enrichment configured, server scope attributes are added into Message metadata. If Latest Telemetry enrichment configured, latest telemetry added into metadata. To access those attributes in other nodes this template can be used <code>metadata.temperature</code>.',
description: 'Add Originators Customer Attributes or Latest Telemetry into Message Metadata',
inEnabled: true,
outEnabled: true,
relationTypes: ['Success', 'Failure'],
customRelations: false,
ruleChainNode: false,
defaultConfiguration: {
attrMapping: {
temperature: 'tempo',
},
telemetry: false,
},
uiResources: ['static/rulenode/rulenode-core-config.js'],
configDirective: 'tbEnrichmentNodeCustomerAttributesConfig',
icon: '',
iconUrl: '',
docUrl: '',
},
},
};