package cn.fateverse.query.handler.adapter;

import cn.fateverse.query.entity.dto.MockParam;
import cn.fateverse.query.entity.bo.PortalBo;

import javax.servlet.http.HttpServletRequest;

/**
 * @author Clay
 * @date 2023-10-31  20:52
 */
public interface DataAdapterHandler {

    /**
     * 模拟执行
     *
     * @param portal  接口对象
     * @param mockParam 请求头
     * @return 执行结果
     */
    Object mockExecute(PortalBo portal, MockParam mockParam);

    /**
     * 真实执行
     *
     * @param portal  接口对象
     * @param request
     * @return 执行结果
     */
    Object execute(PortalBo portal, HttpServletRequest request);

    /**
     * 删除数据适配器
     *
     * @param adapterId 数据适配器id
     * @return 删除结果
     */
    boolean remove(Long adapterId);

}
