package com.qqchen.deploy.backend.system.converter;

import com.qqchen.deploy.backend.deploy.entity.RepositoryGroup;
import com.qqchen.deploy.backend.deploy.entity.RepositoryProject;
import com.qqchen.deploy.backend.deploy.entity.RepositoryBranch;
import com.qqchen.deploy.backend.system.model.dto.RepositoryGroupDTO;
import com.qqchen.deploy.backend.system.model.dto.RepositoryProjectDTO;
import com.qqchen.deploy.backend.system.model.dto.RepositoryBranchDTO;
import com.qqchen.deploy.backend.framework.converter.BaseConverter;
import org.mapstruct.Mapper;

/**
 * 仓库相关的对象转换器
 *
 * @author QQchen
 * @version 1.0
 */
@Mapper(config = BaseConverter.class)
public interface RepositoryConverter {
    
    /**
     * 仓库组实体转DTO
     */
    RepositoryGroupDTO toDto(RepositoryGroup entity);
    
    /**
     * 仓库组DTO转实体
     */
    RepositoryGroup toEntity(RepositoryGroupDTO dto);
    
    /**
     * 仓库项目实体转DTO
     */
    RepositoryProjectDTO toDto(RepositoryProject entity);
    
    /**
     * 仓库项目DTO转实体
     */
    RepositoryProject toEntity(RepositoryProjectDTO dto);
    
    /**
     * 仓库分支实体转DTO
     */
    RepositoryBranchDTO toDto(RepositoryBranch entity);
    
    /**
     * 仓库分支DTO转实体
     */
    RepositoryBranch toEntity(RepositoryBranchDTO dto);
} 