package com.agileboot.system.menu.service;

import cn.hutool.core.lang.tree.Tree;
import com.agileboot.common.satoken.pojo.LoginUser;
import com.agileboot.system.menu.dto.*;
import com.agileboot.system.menu.vo.RouterVO;

import java.util.List;

public interface ISysMenuService {
    List<MenuDTO> getMenuList(MenuQuery menuQuery);

    MenuDetailDTO getMenuInfo(Long menuId);

    List<Tree<Long>> getDropdownList(LoginUser loginUser);

    void addMenu(AddMenuDTO addCommand);

    void updateMenu(UpdateMenuDTO updateCommand);

    void remove(Long menuId);

    List<Long> getMenuIdsByRoleId(Long roleId);

    List<RouterVO> getRouterTree(LoginUser loginUser);
}
