
/**
 * 基础
 */
export type VqdPollingBaseRes = {
  data: string;
};

export type VqdPollingConf = {
  polling_num: number;
  polling_time: number;
  polling_template: number;
};

/**
 * 查询列表响应
 */
export type VqdPollingRes = {
  items: VqdPollingItem[];
  /**
   * 总数
   */
  total: number;
};


/**
 * 项
 */
export type VqdPollingItem = {
  id: number;
  name: string;
  channel_id: string;
  channel_name: string;
  task_template_id: number;
  created_at?: string;
  updated_at?: string;
};
/**
 * 创建请求
 */
export type VqdPollingReq = {
  /**
   * 名称模糊搜索
   */
  name?: string;
  /**
   * 页码(1~N)
   */
  page: number;
  /**
   * 单页元素数量(10~100)
   */
  size: number;

}
/**
 * 项
 */
export type VqdPollingItemReq = {
  /**
   * 名称
   */
  name: string;
  /**
   * 关联通道
   */
  channel_id: string;
  /**
   * 通道名称
   */
  channel_name: string;
  /**
   * 关联模板
   */
  task_template_id: number;
};
export type CreateVqdPollingReq = {
  items: VqdPollingItemReq[];
};

/**
 * 更新请求
 */
export type UpdateVqdPollingReq = Partial<CreateVqdPollingReq> & {
  /**
   * ID
   */
  id: string;
};

/**
 * 详情响应（Apifox 未提供具体结构，这里用通用对象）
 */
export type VqdPollingDetailRes = {
  id: number;
  name: string;
  channel_id: string;
  channel_name: string;
  task_template_id: number;
  created_at?: string;
  updated_at?: string;
}


export type ChannelPollingReq = {
  /**
   * 设备通道 id 模糊搜索
   */
  bid?: string;
  /**
   * 返回级联共享状态
   */
  cascade_id?: string;
  /**
   * 设备唯一标识，过滤属于哪个设备的通道
   */
  device_id?: string;
  /**
   * 名称模糊搜索
   */
  name?: string;
  /**
   * 页码(1~N)
   */
  page: number;
  /**
   * 父级目录 ID，如果按组织结构查询，顶层传 root
   */
  pid?: string;
  /**
   * 返回的信息中包含录像计划状态
   */
  plan_id?: number;
  /**
   * 协议类型过滤
   */
  protocol?: string;
  /**
   * 单页元素数量(10~100)
   */
  size: number;
  /**
   * true:在线; false:离线;
   */
  status?: string;
};

export type ChannelPollingRes = {
  items: ChannelPollingItem[];
  /**
   * 总数，通道总数
   */
  total: number;
  [property: string]: any;
}

export type ChannelPollingItem = {
  /**
   * 设备ID
   */
  device_id: string;
  /**
   * 唯一ID，设备ID
   */
  id: string;
  /**
   * 名称，通道名称
   */
  name: string;
  /**
   * 名称，设备名称
   */
  device_name: string;
  /**
   * 设备协议，HIKSDK、GB等
   */
  protocol: string;
  /**
   * 在线状态，在线或者离线
   */
  status: boolean;
  /**
   * 是否轮询
   */
  is_polling: boolean;
}