package com.microservices.pms.project.service;

import com.alibaba.fastjson2.JSONObject;
import com.microservices.pms.project.domain.PmsProjectRepository;
import com.microservices.pms.project.domain.vo.PmsProjectRepositorySearchVo;
import com.microservices.pms.project.domain.vo.PmsProjectUnlinkedRepositorySearchVo;

/**
 * 项目-代码库Service接口
 * 
 * @author wanjia
 * @date 2023-10-11
 */
public interface IPmsProjectRepositoryService 
{
    /**
     * 查询项目-代码库
     * 
     * @param id 项目-代码库主键
     * @return 项目-代码库
     */
    public PmsProjectRepository selectPmsProjectRepositoryById(Long id);

    /**
     * 查询项目-代码库列表
     * 
     * @param pmsProjectRepositorySearchVo 项目-代码库
     * @return 项目-代码库集合
     */
    public JSONObject selectPmsProjectRepositoryList(PmsProjectRepositorySearchVo pmsProjectRepositorySearchVo);

    /**
     * 新增项目-代码库
     * 
     * @param pmsProjectRepository 项目-代码库
     * @return 结果
     */
    public int insertPmsProjectRepository(PmsProjectRepository pmsProjectRepository);

    /**
     * 修改项目-代码库
     * 
     * @param pmsProjectRepository 项目-代码库
     * @return 结果
     */
    public int updatePmsProjectRepository(PmsProjectRepository pmsProjectRepository);

    /**
     * 批量删除项目-代码库
     * 
     * @param ids 需要删除的项目-代码库主键集合
     * @return 结果
     */
    public int deletePmsProjectRepositoryByIds(Long[] ids);

    JSONObject selectPmsProjectRepoInfoListByProjectId(Long pmsProjectId, Long pmsEnterpriseId);

    JSONObject selectUnlinkedPmsRepositoryListByEnterpriseIdentifier(PmsProjectUnlinkedRepositorySearchVo pmsProjectUnlinkedRepositorySearchVo);
}
