config.ts 6.85 KB
import { FormSchema } from '/@/components/Table';
import { useI18n } from '/@/hooks/web/useI18n';

const { t } = useI18n();
export const formSchema: FormSchema[] = [
  {
    required: true,
    field: 'type',
    label: t('tenant.config.form.type'),
    component: 'Select',
    defaultValue: 'DEFAULT',
    colProps: { span: 24 },
    componentProps: {
      options: [{ label: t('component.table.settingDensDefault'), value: 'DEFAULT' }],
    },
  },
  {
    field: 'maxDevices',
    required: true,

    label: t('tenant.config.form.maxDevice'),
    component: 'InputNumber',
    defaultValue: '0',
    colProps: { span: 12 },
    componentProps: {
      placeholder: t('tenant.config.form.placeDevice'),
    },
  },
  {
    field: 'maxAssets',
    required: true,
    defaultValue: '0',
    ifShow: false,
    label: t('tenant.config.form.maxAssets'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeAssets'),
    },
  },
  {
    field: 'maxCustomers',
    required: true,
    defaultValue: '0',

    label: t('tenant.config.form.maxCustom'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeCustom'),
    },
  },
  {
    field: 'maxUsers',
    required: true,
    defaultValue: '0',
    ifShow: false,
    label: t('tenant.config.form.maxUsers'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeUser'),
    },
  },
  {
    field: 'maxDashboards',
    required: true,
    defaultValue: '0',
    ifShow: false,
    label: t('tenant.config.form.maxDashboards'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeDashboards'),
    },
  },
  {
    field: 'maxRuleChains',
    required: true,
    defaultValue: '0',
    ifShow: false,
    label: t('tenant.config.form.maxRule'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeRule'),
    },
  },
  {
    field: 'maxResourcesInBytes',
    required: true,
    defaultValue: '0',
    ifShow: false,
    label: t('tenant.config.form.maxBytes'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeNumber'),
    },
  },
  {
    field: 'maxOtaPackagesInBytes',
    required: true,
    defaultValue: '0',
    ifShow: false,
    label: t('tenant.config.form.maxOta'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeNumber'),
    },
  },
  {
    field: 'maxTransportMessages',
    required: true,
    defaultValue: '0',
    label: t('tenant.config.form.maxMessage'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeMessage'),
    },
  },
  {
    field: 'maxTransportDataPoints',
    required: true,
    defaultValue: '0',

    label: t('tenant.config.form.maxPoints'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placePoints'),
    },
  },
  {
    field: 'maxREExecutions',
    required: true,
    defaultValue: '0',
    ifShow: false,
    label: t('tenant.config.form.maxREE'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeREE'),
    },
  },

  {
    field: 'maxJSExecutions',
    required: true,
    defaultValue: '0',

    label: t('tenant.config.form.maxJavascript'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeJavascript'),
    },
  },
  {
    field: 'maxDPStorageDays',
    required: true,
    defaultValue: '0',

    label: t('tenant.config.form.maxDays'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeDays'),
    },
  },
  {
    field: 'defaultStorageTtlDays',
    required: true,
    defaultValue: '0',

    label: t('tenant.config.form.maxTTL'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeTTL'),
    },
  },
  {
    field: 'alarmsTtlDays',
    required: true,
    defaultValue: '0',

    label: t('tenant.config.form.alarmsDays'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeAlarms'),
    },
  },
  {
    field: 'rpcTtlDays',
    required: true,
    defaultValue: '0',

    label: t('tenant.config.form.rpc'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeRpc'),
    },
  },
  {
    ifShow: false,
    field: 'maxRuleNodeExecutionsPerMessage',
    required: true,
    defaultValue: '0',
    label: t('tenant.config.form.maxNode'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeNode'),
    },
  },
  {
    field: 'maxEmails',
    required: true,
    label: t('tenant.config.form.maxEmail'),
    colProps: { span: 12 },
    defaultValue: '0',
    ifShow: false,
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeEmail'),
    },
  },
  {
    field: 'maxSms',
    required: true,
    defaultValue: '0',
    ifShow: false,
    label: t('tenant.config.form.maxSms'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeSms'),
    },
  },
  {
    field: 'maxCreatedAlarms',
    required: true,
    defaultValue: '0',

    label: t('tenant.config.form.maxAlarms'),
    colProps: { span: 12 },
    component: 'InputNumber',
    componentProps: {
      placeholder: t('tenant.config.form.placeAlamrs'),
    },
  },
  {
    field: 'transportTenantMsgRateLimit',

    label: t('tenant.config.form.maxLimit'),
    colProps: { span: 24 },
    component: 'Input',
  },
  {
    field: 'transportTenantTelemetryMsgRateLimit',
    label: t('tenant.config.form.tenantMessageLimit'),
    colProps: { span: 24 },
    component: 'Input',
  },
  {
    field: 'transportTenantTelemetryDataPointsRateLimit',
    label: t('tenant.config.form.tanantRateLimit'),
    colProps: { span: 24 },
    component: 'Input',
  },
  {
    field: 'transportDeviceMsgRateLimit',
    label: t('tenant.config.form.transportDevice'),
    colProps: { span: 24 },
    component: 'Input',
  },
  {
    field: 'transportDeviceTelemetryMsgRateLimit',
    label: t('tenant.config.form.deviceLimit'),
    colProps: { span: 24 },
    component: 'Input',
  },
  {
    field: 'transportDeviceTelemetryDataPointsRateLimit',
    label: t('tenant.config.form.deviceRateLimit'),
    colProps: { span: 24 },
    component: 'Input',
  },
];