EbookRequestMapper.java

package qwerty.chaekit.mapper;

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import qwerty.chaekit.domain.ebook.request.EbookRequest;
import qwerty.chaekit.dto.ebook.request.EbookRequestFetchResponse;
import qwerty.chaekit.service.util.FileService;

@Component
@RequiredArgsConstructor
public class EbookRequestMapper {
    private final FileService fileService;

    public String convertToPublicImageURL(String imageKey) {
        return fileService.convertToPublicImageURL(imageKey);
    }

    public EbookRequestFetchResponse toFetchResponse(EbookRequest ebookRequest) {
        return EbookRequestFetchResponse.builder()
                .requestId(ebookRequest.getId())
                .title(ebookRequest.getTitle())
                .author(ebookRequest.getAuthor())
                .description(ebookRequest.getDescription())
                .size(ebookRequest.getSize())
                .price(ebookRequest.getPrice())
                .coverImageURL(convertToPublicImageURL(ebookRequest.getCoverImageKey()))
                .publisherId(ebookRequest.getPublisher().getId())
                .publisherName(ebookRequest.getPublisher().getPublisherName())
                .publisherEmail(ebookRequest.getPublisher().getMember().getEmail())
                .status(ebookRequest.getStatus())
                .rejectReason(ebookRequest.getRejectReason())
                .build();
    }
}