package xyz.wbsite.module.admin.mgr;

import xyz.wbsite.module.admin.req.ConfigDataCreateRequest;
import xyz.wbsite.module.admin.req.ConfigDataDeleteRequest;
import xyz.wbsite.module.admin.req.ConfigDataFindRequest;
import xyz.wbsite.module.admin.req.ConfigDataUpdateRequest;
import xyz.wbsite.module.admin.rsp.ConfigDataCreateResponse;
import xyz.wbsite.module.admin.rsp.ConfigDataDeleteResponse;
import xyz.wbsite.module.admin.rsp.ConfigDataFindResponse;
import xyz.wbsite.module.admin.rsp.ConfigDataUpdateResponse;
import xyz.wbsite.frame.base.Token;

/**
 * 配置数据
 *
 * @author wangbing
 * @version 0.0.1
 * @since 2021-02-07
 */
public interface ConfigDataManager {

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

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

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

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