package com.ruoyi.generator.service;

import com.ruoyi.generator.domain.Datasource;

import java.util.List;

/**
 * 数据源信息Service接口
 *
 * @author ruoyi
 * @date 2023-11-22
 */
public interface IDatasourceService {
    /**
     * 查询数据源信息
     *
     * @param datasourceId 数据源信息主键
     * @return 数据源信息
     */
    public Datasource selectDatasourceByDatasourceId(Long datasourceId);

    /**
     * 查询数据源信息列表
     *
     * @param datasource 数据源信息
     * @return 数据源信息集合
     */
    public List<Datasource> selectDatasourceList(Datasource datasource);

    /**
     * 新增数据源信息
     *
     * @param datasource 数据源信息
     * @return 结果
     */
    public int insertDatasource(Datasource datasource);

    /**
     * 修改数据源信息
     *
     * @param datasource 数据源信息
     * @return 结果
     */
    public int updateDatasource(Datasource datasource);

    /**
     * 批量删除数据源信息
     *
     * @param datasourceIds 需要删除的数据源信息主键集合
     * @return 结果
     */
    public int deleteDatasourceByDatasourceIds(Long[] datasourceIds);

    /**
     * 删除数据源信息信息
     *
     * @param datasourceId 数据源信息主键
     * @return 结果
     */
    public int deleteDatasourceByDatasourceId(Long datasourceId);

    /**
     * 测试数据源连接
     *
     * @param dataSource
     * @return
     */
    public boolean testConnection(Datasource dataSource);
}
