package cn.fateverse.query.mapper;

import cn.fateverse.query.entity.DataAdapter;
import cn.fateverse.query.entity.query.DataAdapterQuery;

import java.util.List;

/**
 * 数据源适配器 Mapper
 *
 * @author clay
 * @date 2023-10-29
 */
public interface DataAdapterMapper {

    /**
     * 查询数据源适配器
     *
     * @param adapterId 数据源适配器Id
     * @return 数据源适配器
     */
    DataAdapter selectById(Long adapterId);

    /**
     * 查询数据源适配器列表
     *
     * @param query 数据源适配器查询
     * @return 数据源适配器集合
     */
    List<DataAdapter> selectList(DataAdapterQuery query);


    List<DataAdapter> selectListByIds(List<Long> adapterIds);

    /**
     * 新增数据源适配器
     *
     * @param dataAdapter 数据源适配器
     * @return 结果
     */
    int insert(DataAdapter dataAdapter);

    /**
     * 修改数据源适配器
     *
     * @param dataAdapter 数据源适配器
     * @return 结果
     */
    int update(DataAdapter dataAdapter);

    /**
     * 更新代码
     *
     * @param dataAdapter 数据适配器
     * @return 结果
     */
    int updateCode(DataAdapter dataAdapter);

    /**
     * 删除数据源适配器
     *
     * @param adapterId 需要删除的数据源适配器Id
     * @return 结果
     */
    int deleteById(Long adapterId);

    /**
     * 批量删除数据源适配器
     *
     * @param adapterIdList 需要删除的数据源适配器Id 集合
     * @return 结果
     */
    int deleteBatchByIdList(List<Long> adapterIdList);

}