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

export const queryNetworkConfig = (params: object) => defHttp.post({ url: `/network/config/_query`, params });

export const remove = (id: string) => defHttp.delete({ url: `/network/config/${id}` }, { isTransformResponse: false });

export const shutdown = (data: object) =>
  defHttp.post({ url: `/network/config/${data}/_shutdown` }, { isTransformResponse: false });

export const start = (data: any) => defHttp.post({ url: `/network/config/${data}/_start` }, { isTransformResponse: false });

export const supports = () => defHttp.get({ url: `/network/config/supports` }, { isTransformResponse: false });

export const query = (data: any) => {
  const params = { ...data };
  return defHttp.post({ url: `/network/config/list`, data, params }, { isTransformResponse: false });
};

export const providers = () => defHttp.get({ url: `/gateway/device/providers` });

export const resourcesCurrent = () =>
  defHttp.get({ url: `/network/resources/alive/_current` }, { isTransformResponse: false });

export const resourceClusters = () => defHttp.get({ url: `/network/resources/clusters` });

export const resourceClustersById = (id: string) => defHttp.get({ url: `/network/resources/alive/${id}` });

export const allResources = () => defHttp.get({ url: `/network/resources/alive/_all` });

export const certificates = () => defHttp.get({ url: `/network/certificate/_query` }, { isTransformResponse: false });

export const save = (data: Object) => defHttp.post({ url: `/network/config`, data }, { isTransformResponse: false });

export const update = (data: Object) => defHttp.put({ url: `/network/config`, data }, { isTransformResponse: false });

export const detail = (id: string) => defHttp.get({ url: `/network/config/${id}` }, { isTransformResponse: false });

/**
 * 获取TCP粘拆包TS资源
 */
export const getTs = () => defHttp.get({ url: '/system/resources/ScriptPayloadParser.d.ts' });
