import axiosInstance from "@/api/axios.ts";
import type {IAppTableUserGroupVo} from "@/model/table/IAppTableUserGroupVo.ts";
import type {IUpdatePermissionReq} from "@/interface/page/userGroup/IUpdatePermissionReq.ts";

// 用户组接口调用
export default class UserGroupApi {
    // 查询用户组级别比自己低的用户组
    static queryMinLevelUserGroup() {
        return axiosInstance.get("/app/userGroup/queryMinLevelUserGroup");
    }
    // 查询某一用户组的菜单权限
    static queryUserGroupPermission(userGroup: string) {
        return axiosInstance.get("/app/userGroup/queryUserGroupPermission", {
            params: {
                userGroup: userGroup,
            }
        });
    }
    // 添加用户组
    static addUserGroup(userGroup: IAppTableUserGroupVo) {
        return axiosInstance.post("/app/userGroup/addUserGroup", userGroup);
    }
    // 删除用户组
    static deleteUserGroup(userGroup: string | undefined) {
        return axiosInstance.delete("/app/userGroup/deleteUserGroup/" + userGroup);
    }
    // 更新用户组信息
    static updateUserGroup(userGroup: IAppTableUserGroupVo) {
        return axiosInstance.post("/app/userGroup/updateUserGroup", userGroup);
    }
    // 更新用户组权限信息
    static updateUserGroupPermission(userGroupPermission: IUpdatePermissionReq) {
        return axiosInstance.post("/app/userGroup/updateGroupPermission", userGroupPermission);
    }

}