index.ts 1.5 KB
import { ActionCategoryComponentEnum } from '../../../enum/category';
import { useCreateNodeKey } from '../../../hook/useCreateNodeKey';
import type { NodeItemConfigType } from '../../../types/node';
import { RuleNodeTypeEnum } from '../../index.type';

const keys = useCreateNodeKey(ActionCategoryComponentEnum.SYNCHRONIZATION_START);

export interface SynchronizationStartDataType {
  someConfiguration?: Recordable;
}

export const SynchronizationStartConfig: NodeItemConfigType = {
  ...keys,
  clazz: 'org.thingsboard.rule.engine.transaction.TbSynchronizationBeginNode',
  categoryType: RuleNodeTypeEnum.ACTION,
  name: 'synchronization start',
  configurationDescriptor: {
    nodeDefinition: {
      details:
        'This node should be used together with "synchronization end" node. \n This node will put messages into queue based on message originator id. \nSubsequent messages will not be processed until the previous message processing is completed or timeout event occurs.\nSize of the queue per originator and timeout values are configurable on a system level',
      description: 'This Node is now deprecated. Use "Checkpoint" instead.',
      inEnabled: true,
      outEnabled: true,
      relationTypes: ['Success', 'Failure'],
      customRelations: false,
      ruleChainNode: false,
      defaultConfiguration: {
        version: 0,
      },
      uiResources: ['static/rulenode/rulenode-core-config.js'],
      configDirective: 'tbNodeEmptyConfig',
      icon: '',
      iconUrl: '',
      docUrl: '',
    },
  },
};