package com.usky.data.service;

import com.usky.common.core.bean.ApiResult;
import com.usky.common.core.bean.CommonPage;
import com.usky.common.mybatis.core.CrudService;
import com.usky.data.domain.DataInterface;


import java.util.List;
import java.util.Map;

/**
 * <p>
 * 数据中心_数据接口表 服务类
 * </p>
 *
 * @author fyc
 * @since 2026-01-24
 */
public interface DataInterfaceService extends CrudService<DataInterface> {

    CommonPage<DataInterface> getDataInterfaceList(Integer currentPage, Integer pageSize, String keyword, String type, Integer enabledMark, String category);

    CommonPage<DataInterface> getWorkflowList(Integer currentPage, Integer pageSize, String keyword, String type, Integer enabledMark);

    List<DataInterface> getSelectorList();

    String getInterfaceParameters(String id);

    boolean updateInterfaceStatus(String id);

    ApiResult<?> testInterface(String id, Map<String, Object> params);

    ApiResult<?> getInterfaceResponse(String id, Map<String, String> params);

    ApiResult<?> postInterfaceResponse(String id, Map<String, String> params);

    ApiResult<?> getInterfacePageData(String id, Map<String, Object> pageParams);

    ApiResult<List<Map<String, Object>>> getInterfaceDetailData(String id, Map<String, Object> pageParams);

    ApiResult<List<String>> getInterfaceFields(String id, Map<String, Object> pageParams);

    Boolean deleteInterface(Long id);

    Boolean addInterface(DataInterface dataInterface);

    Boolean updateInterface(DataInterface dataInterface);
}
