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

import com.qqchen.deploy.backend.deploy.dto.RepositoryBranchDTO;
import com.qqchen.deploy.backend.deploy.entity.RepositoryBranch;
import com.qqchen.deploy.backend.deploy.query.RepositoryBranchQuery;
import com.qqchen.deploy.backend.framework.service.IBaseService;

/**
 * Git仓库分支服务接口
 */
public interface IRepositoryBranchService extends IBaseService<RepositoryBranch, RepositoryBranchDTO, RepositoryBranchQuery, Long> {

    /**
     * 同步指定外部系统下指定项目的分支
     *
     * @param externalSystemId 外部系统ID
     * @return 同步的分支数量
     */
    Integer syncBranches(Long externalSystemId);

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

    /**
     * 统计指定项目下的分支数量
     *
     * @param projectId 项目ID
     * @return 分支数量
     */
    Long countByProjectId(Long projectId);
} 