package ${basePackage}.module.system.mgr;

import ${basePackage}.frame.auth.Token;
import ${basePackage}.module.system.req.RoleResCheckRequest;
import ${basePackage}.module.system.req.RoleResCreateRequest;
import ${basePackage}.module.system.req.RoleResDeleteRequest;
import ${basePackage}.module.system.req.RoleResFindRequest;
import ${basePackage}.module.system.req.RoleResGetRequest;
import ${basePackage}.module.system.req.RoleResUpdateRequest;
import ${basePackage}.module.system.rsp.RoleResCheckResponse;
import ${basePackage}.module.system.rsp.RoleResCreateResponse;
import ${basePackage}.module.system.rsp.RoleResDeleteResponse;
import ${basePackage}.module.system.rsp.RoleResFindResponse;
import ${basePackage}.module.system.rsp.RoleResGetResponse;
import ${basePackage}.module.system.rsp.RoleResUpdateResponse;

/**
 * 角色资源关系
 *
 * @author wangbing
 * @version 0.0.1
 * @since 2017-01-01
 */
public interface RoleResManager {

    /**
     * 插入
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    RoleResCreateResponse create(RoleResCreateRequest request, Token token);

    /**
     * 逻辑删除
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    RoleResDeleteResponse delete(RoleResDeleteRequest request, Token token);

    /**
     * 更新
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    RoleResUpdateResponse update(RoleResUpdateRequest request, Token token);

    /**
     * 查询
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    RoleResFindResponse find(RoleResFindRequest request, Token token);

    /**
     * 获得对象
     *
     * @param request 请求对象
     * @param token   令牌
     * @return
     */
    RoleResGetResponse get(RoleResGetRequest request, Token token);

    /**
     * 选中或取消资源
     *
     * @param request 请求对象
     * @param token   令牌
     * @return 响应
     */
    RoleResCheckResponse check(RoleResCheckRequest request, Token token);
}
