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

import com.qqchen.deploy.backend.deploy.dto.RepositoryProjectDTO;
import com.qqchen.deploy.backend.deploy.entity.RepositoryProject;
import com.qqchen.deploy.backend.deploy.query.RepositoryProjectQuery;
import com.qqchen.deploy.backend.framework.service.IBaseService;

import java.util.List;

/**
 * Git仓库项目服务接口
 */
public interface IRepositoryProjectService extends IBaseService<RepositoryProject, RepositoryProjectDTO, RepositoryProjectQuery, Long> {

    /**
     * 同步指定外部系统下指定仓库组的项目
     *
     * @param externalSystemId 外部系统ID
     * @return 同步的项目数量
     */
    Integer syncProjects(Long externalSystemId);

    /**
     * 统计指定外部系统下的项目数量
     *
     * @param externalSystemId 外部系统ID
     * @return 项目数量
     */
    Long countByExternalSystemId(Long externalSystemId);

    List<RepositoryProjectDTO> findByExternalSystemId(Long externalSystemId);
}