ReadingProgressMapper.java

package qwerty.chaekit.mapper;

import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import qwerty.chaekit.domain.ebook.purchase.EbookPurchase;
import qwerty.chaekit.dto.ebook.purchase.ReadingProgressResponse;
import qwerty.chaekit.service.util.FileService;

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

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

    public ReadingProgressResponse toResponse(EbookPurchase ebookPurchase) {
        return ReadingProgressResponse.builder()
                .bookId(ebookPurchase.getEbook().getId())
                .userId(ebookPurchase.getUser().getId())
                .userNickname(ebookPurchase.getUser().getNickname())
                .userProfileImageURL(convertToPublicImageURL(ebookPurchase.getUser().getProfileImageKey()))
                .cfi(ebookPurchase.getCfi())
                .percentage(ebookPurchase.getPercentage())
                .build();
    }
}