deviceConfigModel.ts 3.66 KB
import { ProfileData } from './deviceModel';
import { BasicPageParams } from '/@/api/model/baseModel';
import { CommandTypeEnum, RPCCommandMethodEnum } from '/@/enums/deviceEnum';

export type TDeviceConfigPageQueryParam = BasicPageParams & TDeviceConfigParams;

export type TDeviceConfigParams = {
  page?: any;
  pageSize?: any;
  name?: string;
  transportType?: string;
  orderFiled?: string;
  orderType?: string;
  tbDeviceId?: string;
};

export interface IDeviceConfigAddOrEditModel {
  defaultQueueName?: string; //处理队列
  alarmProfile?: {
    alarmContactId: string;
    createTime: '2021-12-15T02:17:26.644Z';
    creator: string;
    defaultConfig: string;
    description: string;
    deviceProfileId: string;
    enabled: true;
    icon: string;
    id: string;
    messageMode: string;
    name: string;
    roleIds: [string];
    tenantExpireTime: '2021-12-15T02:17:26.644Z';
    tenantId: string;
    tenantStatus: 'DISABLED';
    updateTime: '2021-12-15T02:17:26.644Z';
    updater: string;
  };
  convertJs?: string;
  createTime?: '2021-12-15T02:17:26.644Z';
  creator?: string;
  defaultConfig?: string;
  defaultRuleChainId?: string;
  description?: string;
  enabled?: true;
  icon?: string;
  id?: string;
  name?: string;
  profileData?: ProfileData;
  roleIds?: [string];
  tbProfileId?: string;
  tenantExpireTime?: '2021-12-15T02:17:26.645Z';
  tenantId?: string;
  tenantStatus?: 'DISABLED';
  transportType?: string;
  updateTime?: '2021-12-15T02:17:26.645Z';
  updater?: string;
}

export interface Data {
  CO: number;
}

export interface Details {
  data: Data;
}

export interface AlarmLogItem {
  id: string;
  tenantId: string;
  creator?: any;
  updater?: any;
  createdTime: string;
  updatedTime: string;
  customerId: string;
  tbDeviceId: string;
  originatorType: number;
  deviceId: string;
  deviceName: string;
  deviceAlias: string;
  type: string;
  severity: string;
  status: string;
  startTs: string;
  endTs: string;
  ackTs: string;
  clearTs: string;
  details: Details;
  propagate: boolean;
  propagateRelationTypes?: any;
  organizationId: string;
  organizationName: string;
  cleared?: boolean;
  acknowledged?: boolean;
}

export interface Configuration {
  type: string;
}

export interface TransportConfiguration {
  type: string;
}

export interface ProvisionConfiguration {
  type: string;
  provisionDeviceSecret?: any;
}

export interface ProfileRecord {
  id: string;
  creator: string;
  createTime: string;
  updater: string;
  updateTime: string;
  name: string;
  tenantId: string;
  transportType: string;
  provisionType: string;
  deviceType: string;
  tbProfileId: string;
  profileData: ProfileData;
  defaultRuleChainId: string;
  defaultQueueName: string;
  image: string;
  type: string;
  default: boolean;

  checked?: boolean;
}

export interface IDRecord {
  entityType: string;
  id: string;
}

export interface RuleChainRecord {
  id: IDRecord;
  createdTime: number;
  additionalInfo?: any;
  tenantId: IDRecord;
  name: string;
  type: string;
  firstRuleNodeId: IDRecord;
  root: boolean;
  debugMode: boolean;
  configuration?: any;
}

export interface DeviceProfileDetail {
  id: string;
  creator: string;
  createTime: string;
  updater: string;
  updateTime: string;
  name: string;
  description: string;
  tenantId: string;
  transportType: string;
  provisionType: string;
  deviceType: string;
  tbProfileId: string;
  profileData: ProfileData;
  defaultQueueName: string;
  type: string;
  deviceCount: number;
  default: boolean;
  ifShowClass?: boolean;
}

export interface RpcCommandType {
  additionalInfo: { cmdType: CommandTypeEnum };
  method: RPCCommandMethodEnum;
  params: Recordable | string | number;
  persistent: boolean;
}