import { defHttp } from '@jdlinker/func';
/**
 * 获取告警配置列表
 */
export const queryList = (data: any) => {
  const params = { ...data };
  return defHttp.post({ url: '/alarm/config/detail/_query', data, params }, { isTransformResponse: false });
};
/**
 * 启动告警配置
 */
export const _enable = (id: string) => defHttp.post({ url: `/alarm/config/${id}/_enable` });
/**
 * 禁用告警配置
 */
export const _disable = (id: string) => defHttp.post({ url: `/alarm/config/${id}/_disable` });
/**
 * 删除告警配置
 */
export const remove = (id: string) => defHttp.delete({ url: `/alarm/config/${id}` });
/**
 * 手动触发告警
 */
export const _execute = (data: any) => defHttp.post({ url: '/scene/batch/_execute', data });
/**
 * 下拉框场景数据
 */
export const getScene = (params: Record<string, any>) =>
  defHttp.get({ url: '/scene/_query/no-paging?paging=false', params });
/**
 * 获取配置类型
 */
export const getTargetTypes = () =>
  defHttp.get({ url: '/alarm/config/target-type/supports' }, { isTransformResponse: false });
/**
 * 保存基本设置
 */
export const save = (data: any) => defHttp.post({ url: '/alarm/config', data }, { isTransformResponse: false });
/**
 * 更新基础设置
 */
export const updata = (data: any) => {
  data.value.stateValue = data.value?.state.value;
  delete data.value?.state;
  return defHttp.put({ url: '/alarm/config', data }, { isTransformResponse: false });
};
/**
 * 获取基础设置数据
 */
export const detail = (id: any) => defHttp.get({ url: `/alarm/config/${id}` }, { isTransformResponse: false });
/**
 * 解除场景联动绑定
 */
export const unbindScene = (id: string, data: any) =>
  defHttp.post({ url: `/alarm/rule/bind/${id}/_delete`, data }, { isTransformResponse: false });

/**
 * 保存关联场景
 */
export const bindScene = (data: any) => defHttp.patch({ url: '/alarm/rule/bind', data }, { isTransformResponse: false });
