import { defHttp } from '/@/utils/http/axios';
import {
  selectUserListParam,
  checkDeiceParam,
  addDeiceParam,
  checkUserParam,
  SubAccountUsers,
  selectCompanyParam,
  auditParam,
  addPointParam,
} from './model';
import type { Result } from '/#/axios';

enum Api {
  addDevice = '/zfb-api/zfb/company/addDevice',
  checkDevice = '/zfb-api/zfb/company/checkDevice',
  selectUserList = '/zfb-api/zfb/company/selectUserList',
  addPoint = '/zfb-api/zfb/company/addPoint',
  checkUserAddAble = '/zfb-api/zfb/company/back/checkUserAddAble',
  saveSubUsers = '/zfb-api/zfb/company/saveSubUsers',
  selectCompanyById = '/zfb-api/zfb/company/selectCompanyById',
  auditCompany = '/zfb-api/zfb/company/auditCompany',
}
/**
 * @description: Get sample list value
 */

export const AddDevice = (params: addDeiceParam) =>
  defHttp.post<Result>({
    url: Api.addDevice,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });

export const checkDevice = (params: checkDeiceParam) =>
  defHttp.post<Result>({
    url: Api.checkDevice,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });
export const auditCompany = (params: auditParam) =>
  defHttp.post<Result>({
    url: Api.auditCompany,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });

export const addPoint = (params: addPointParam) =>
  defHttp.post<Result>({
    url: Api.addPoint,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });
export const selectUserList = (params: selectUserListParam) =>
  defHttp.post<Result>({
    url: Api.selectUserList,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });

export const checkUserAddAble = (params: checkUserParam) =>
  defHttp.post<Result>({
    url: Api.checkUserAddAble,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });

export const selectCompanyById = (params: selectCompanyParam) =>
  defHttp.post<Result>({
    url: Api.selectCompanyById,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });

export const saveSubUsers = (params: SubAccountUsers) =>
  defHttp.post<Result>({
    url: Api.saveSubUsers,
    params,
    headers: {
      // @ts-ignore
      ignoreCancelToken: true,
    },
  });
