package org.springblade.file.convert;

import org.mapstruct.Mapper;
import org.mapstruct.MappingConstants;
import org.mapstruct.ReportingPolicy;
import org.springblade.file.pojo.dto.BusinessUnzipTaskAddDTO;
import org.springblade.file.pojo.dto.FileTaskCreateDTO;
import org.springblade.file.pojo.entity.BusinessUnzipTask;
import org.springblade.file.pojo.entity.FileTask;
import org.springblade.file.pojo.entity.FileTaskPart;
import org.springblade.file.pojo.vo.FileTaskUpdateVO;
import org.springblade.file.pojo.vo.FileTaskVO;
import org.springblade.file.pojo.vo.PartEtagVO;

/**
 * @author bfhuange
 * @date 2024/10/22
 */
@Mapper(componentModel = MappingConstants.ComponentModel.SPRING, unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface FileTaskConvert {

    FileTaskVO entity2vo(FileTask entity);

    FileTaskUpdateVO entity2updateVo(FileTask entity);

    FileTask dto2entity(FileTaskCreateDTO dto);

    PartEtagVO entity2vo(FileTaskPart entity);

    BusinessUnzipTask dto2entity(BusinessUnzipTaskAddDTO dto);
}
