package ${domain}.module.wsvr.mgr;

import ${domain}.frame.auth.Token;
import ${domain}.module.wsvr.req.LogerrCreateRequest;
import ${domain}.module.wsvr.req.LogerrDeleteRequest;
import ${domain}.module.wsvr.req.LogerrFindRequest;
import ${domain}.module.wsvr.req.LogerrUpdateRequest;
import ${domain}.module.wsvr.rsp.LogerrCreateResponse;
import ${domain}.module.wsvr.rsp.LogerrDeleteResponse;
import ${domain}.module.wsvr.rsp.LogerrFindResponse;
import ${domain}.module.wsvr.rsp.LogerrUpdateResponse;

/**
 * 错误日志
 *
 * @author wangbing
 * @version 0.0.1
 * @since 2020-07-06
 */
public interface LogerrManager {

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

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

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

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

    /**
     * 快速添加错误日志
     *
     * @param logType 日志类型
     * @param logTitle 标题
     * @param logNote 描述
     * @return
     */
    boolean addErr(String logType, String logTitle, String logNote);
}
