/*
 * @Author: lyh
 * @LastEditors: wfl
 * @Date: 2022-08-11 16:20:20
 * @LastEditTime: 2022-10-24 11:01:38
 */
import { defHttp } from '@/mainApp/utils/http/axios';
import { ApiModel } from '../model/baseModel';
// import { getDepListResultModel } from './model/depModel';

enum Api {
  GetDepList = '/server/dept/all',
  GetDepTree = '/server/dept/tree',
  UpdateDep = '/server/dept',
  AddDep = '/server/dept',
  DeleteDep = '/server/dept',
}

/**
 * @description: Get user Dep based on id
 */

export const getDepList = (): Promise<
  ApiModel & {
    data: any;
  }
> => {
  return defHttp.get({ url: Api.GetDepList });
};

export const getDepTree = (): Promise<ApiModel> => {
  return defHttp.get({ url: Api.GetDepTree });
};

export const updateDep = (params): Promise<ApiModel> => {
  return defHttp.put({ url: Api.UpdateDep, params });
};

export const addNewDep = (params): Promise<ApiModel> => {
  return defHttp.post({ url: Api.AddDep, params });
};

export const deleteDep = (deptId): Promise<ApiModel> => {
  return defHttp.delete({ url: `${Api.DeleteDep}?deptId=${deptId}` });
};
