package com.usky.data.service;

import com.usky.data.domain.DataLink;
import com.usky.common.mybatis.core.CrudService;

import java.util.List;

/**
 * <p>
 * 数据中心_数据连接表 服务类
 * </p>
 *
 * @author fyc
 * @since 2026-01-23
 */
public interface DataLinkService extends CrudService<DataLink> {

    /**
     * 测试数据库连接
     * @param dataLink 数据源信息
     * @return 是否连接成功
     */
    boolean testDbConnection(DataLink dataLink);

    /**
     * 根据连接名称检查是否存在
     * @param fullName 连接名称
     * @param id 排除的主键ID
     * @return 是否存在
     */
    boolean isExistByFullName(String fullName, Integer id);

    /**
     * 获取所有数据源列表
     * @return 数据源列表
     */
    List<DataLink> getList();

    /**
     * 分页获取数据源列表
     * @param page 页码
     * @param pageSize 每页条数
     * @param keyword 关键字
     * @return 数据源列表
     */
    List<DataLink> getList(int page, int pageSize, String keyword);
}
