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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.RoleCreateCmd;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.RoleDestroyCmd;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.RoleUpdateCmd;
import com.xunhong.erp.turbo.api.rbac.dto.qry.RoleListQry;
import com.xunhong.erp.turbo.api.rbac.dto.qry.RolePageQry;
import com.xunhong.erp.turbo.api.rbac.dto.qry.RoleShowQry;
import com.xunhong.erp.turbo.rbac.domain.entity.Role;

import java.util.List;

/**
 * @author shenyifei
 */
public interface RoleGateway {

	List<Role> list(RoleListQry roleListQry);

	Role save(RoleCreateCmd roleCreateCmd);

	void destroy(RoleDestroyCmd roleDeleteCmd);

	Role update(RoleUpdateCmd roleUpdateCmd);

	IPage<Role> page(RolePageQry rolePageQry);

	Role show(RoleShowQry roleShowQry);
}
