/*
 * @Author: wfl
 * @LastEditors: wfl
 * @description:
 * @updateInfo:
 * @Date: 2022-08-10 16:11:23
 * @LastEditTime: 2022-08-17 09:28:53
 */
import { defHttp } from '@/mainApp/utils/http/axios';
import { ApiModel } from '../model/baseModel';

enum Api {
  GetAllRoleList = '/server/role/all',
  AddUpDelRole = '/server/role',
  GetRoleMenu = '/server/menu/list/role',
  updateRoleMenus = '/server/role/menu',
}

const roleApi = {
  getRoleList: (): Promise<ApiModel> => {
    return defHttp.get({ url: Api.GetAllRoleList });
  },
  addRole: (params): Promise<ApiModel> => {
    return defHttp.post({ url: Api.AddUpDelRole, params: params });
  },
  updateRole: (params): Promise<ApiModel> => {
    return defHttp.put({ url: Api.AddUpDelRole, params: params });
  },
  deleteRole: (roleId): Promise<ApiModel> => {
    return defHttp.delete({ url: `${Api.AddUpDelRole}?roleId=${roleId}` });
  },
  getRoleMenus: (roleId): Promise<ApiModel> => {
    return defHttp.get({ url: `${Api.GetRoleMenu}?roleId=${roleId}` });
  },
  updateRoleMenus: (params): Promise<ApiModel> => {
    return defHttp.put({ url: `${Api.updateRoleMenus}`, params: params });
  },
};

export default roleApi;
