import { defHttp, useGlobSetting } from '@jdlinker/func';

const glob = useGlobSetting();

export const FIRMWARE_UPLOAD = `${glob.uploadUrl}/accessory/uploadFile2`;

export const save = (data: object) => defHttp.post({ url: `/firmware/add`, data }, { isTransformResponse: false });

export const update = (data: object) => defHttp.put({ url: `/firmware/edit`, data }, { isTransformResponse: false });

export const remove = (id: string) => defHttp.delete({ url: `/firmware/${id}` });

export const query = (data: object) => defHttp.post({ url: `/firmware/_query/`, data });

export const querySystemApi = (data?: object) => defHttp.post({ url: `/system/config/scopes`, data });

export const task = (data: Record<string, unknown>) => defHttp.post({ url: `/firmware/upgrade/task/detail/_query`, data });

export const taskById = (id: string) => defHttp.get({ url: `/firmware/upgrade/task/${id}` });

export const saveTask = (data: Record<string, unknown>) => defHttp.post({ url: `/firmware/upgrade/task`, data });

export const deleteTask = (id: string) => defHttp.delete({ url: `/firmware/upgrade/task/${id}` });

export const history = (data: Record<string, unknown>) => defHttp.post({ url: `/firmware/upgrade/history/_query`, data });

export const historyCount = (data: Record<string, unknown>) =>
  defHttp.post({ url: `/firmware/upgrade/history/_count`, data });

export const startTask = (id: string, data: string[]) => defHttp.post({ url: `/firmware/upgrade/task/${id}/_start`, data });

export const stopTask = (id: string) => defHttp.post({ url: `/firmware/upgrade/task/${id}/_stop` });

export const startOneTask = (data: string[]) => defHttp.post({ url: `/firmware/upgrade/task/_start`, data });

// export const queryProduct = (data?: any) =>
//     server.post(`/device-product/_query/no-paging`, data);
export const queryProduct = (data?: any) =>
  defHttp.post({ url: `/device/product/_query/no-paging`, data }, { isTransformResponse: false });

export const queryDevice = () => defHttp.get({ url: `/device/instance/_query/no-paging?paging=false` });

export const validateVersion = (productId: string, versionOrder: number | string) =>
  defHttp.get({ url: `/firmware/${productId}/${versionOrder}/exists` }, { isTransformResponse: false });

export const queryDetailList = (data: Record<string, unknown>) =>
  defHttp.post({ url: `/device-instance/detail/_query`, data });

export const queryDetailListNoPaging = (data: Record<string, unknown>) =>
  defHttp.post({ url: `/device-instance/detail/_query/no-paging`, data });
