interface IOption {
  value: number | string;
  label: string;
}
// 规则状态枚举
export const RULE_STATUS = {
  STOPPING: 0,
  RUNNING: 1,
};
// 防护状态枚举
export const GUARD_STATUS = {
  UN_GUARDDING: 0,
  GUARDDING: 1,
};
// SSL证书状态枚举
export const SSL_STATUS = {
  NOT_SSL: 0,
  SSL: 1,
};

// 启动状态枚举
export const START_STATUS = {
  START: 0,
  NOT_START: 1,
};
// 合同状态枚举
export const CONTRACT_STATUS = {
  FAIL: 0,
  AUDIT_PENDING: 1,
  EXEC_PENDING: 2,
  EXECUTING: 3,
  FINISH: 4,
};

export const CONTRACT_STATUS_OPTIONS: Array<IOption> = [
  { value: CONTRACT_STATUS.FAIL, label: '审核失败' },
  { value: CONTRACT_STATUS.AUDIT_PENDING, label: '待审核' },
  { value: CONTRACT_STATUS.EXEC_PENDING, label: '待履行' },
  { value: CONTRACT_STATUS.EXECUTING, label: '审核成功' },
  { value: CONTRACT_STATUS.FINISH, label: '已完成' },
];

// 合同类型枚举
export const CONTRACT_TYPES = {
  MAIN: 0,
  SUB: 1,
  SUPPLEMENT: 2,
};

export const CONTRACT_TYPE_OPTIONS: Array<IOption> = [
  { value: CONTRACT_TYPES.MAIN, label: '主合同' },
  { value: CONTRACT_TYPES.SUB, label: '子合同' },
  { value: CONTRACT_TYPES.SUPPLEMENT, label: '补充合同' },
];

// 合同收付类型枚举
export const CONTRACT_PAYMENT_TYPES = {
  PAYMENT: 0,
  RECIPT: 1,
};

// 通知的优先级对应的TAG类型
export const NOTIFICATION_TYPES = {
  low: 'primary',
  middle: 'warning',
  high: 'danger',
};

// 攻击类型TAG类型
export const ATTACK_TYPES = {
  CC: 0,
  CMD: 1,
  WEBUPLOAD: 2,
};
