package com.qqchen.deploy.backend.deploy.service;

import com.qqchen.deploy.backend.deploy.entity.RepositoryGroup;
import com.qqchen.deploy.backend.deploy.dto.RepositoryGroupDTO;
import com.qqchen.deploy.backend.deploy.query.RepositoryGroupQuery;
import com.qqchen.deploy.backend.framework.service.IBaseService;

import java.util.List;

/**
 * Git仓库组服务接口
 */
public interface IRepositoryGroupService extends IBaseService<RepositoryGroup, RepositoryGroupDTO, RepositoryGroupQuery, Long> {
    
    /**
     * 同步指定外部系统的所有仓库组
     *
     * @param externalSystemId 外部系统ID
     * @return 同步的仓库组数量
     */
    Integer syncGroups(Long externalSystemId);

    /**
     * 统计外部系统的仓库组数量
     *
     * @param externalSystemId 外部系统ID
     * @return 仓库组数量
     */
    Long countByExternalSystemId(Long externalSystemId);

    /**
     * 查找指定外部系统下的所有仓库组
     *
     * @param externalSystemId 外部系统ID
     * @return 仓库组列表
     */
    List<RepositoryGroupDTO> findByExternalSystemId(Long externalSystemId);
} 