package com.xunhong.erp.turbo.rbac.domain.gateway;

import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuCreateCmd;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuDestroyCmd;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuDragCmd;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuUpdateCmd;
import com.xunhong.erp.turbo.api.rbac.dto.qry.MenuListQry;
import com.xunhong.erp.turbo.api.rbac.dto.qry.MenuShowQry;
import com.xunhong.erp.turbo.api.rbac.dto.qry.MenuTreeQry;
import com.xunhong.erp.turbo.rbac.domain.entity.Menu;

import java.util.List;

/**
 * @author shenyifei
 */
public interface MenuGateway {
	List<Menu> tree(MenuTreeQry menuTreeQry);

	List<Menu> list(MenuListQry menuListQry);

	Menu create(MenuCreateCmd menuCreateCmd);

	Menu update(MenuUpdateCmd menuUpdateCmd);

	void destroy(MenuDestroyCmd menuDestroyCmd);

	Menu show(MenuShowQry menuShowQry);

	void drag(MenuDragCmd menuDragCmd);
}
