package xyz.wbsite.module.admin.mgr;

import xyz.wbsite.module.admin.req.ConfigCreateRequest;
import xyz.wbsite.module.admin.req.ConfigDeleteRequest;
import xyz.wbsite.module.admin.req.ConfigFindRequest;
import xyz.wbsite.module.admin.req.ConfigUpdateRequest;
import xyz.wbsite.module.admin.rsp.ConfigCreateResponse;
import xyz.wbsite.module.admin.rsp.ConfigDeleteResponse;
import xyz.wbsite.module.admin.rsp.ConfigFindResponse;
import xyz.wbsite.module.admin.rsp.ConfigUpdateResponse;
import xyz.wbsite.frame.base.Token;

/**
 * 配置预设
 *
 * @author wangbing
 * @version 0.0.1
 * @since 2021-02-07
 */
public interface ConfigManager {

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

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

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

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