Files
hexagonal/src/main/java/myblog/blog/article/application/ArticleDtoMapper.java
2022-05-27 20:19:31 +09:00

29 lines
1.1 KiB
Java

package myblog.blog.article.application;
import myblog.blog.article.application.port.incomming.response.*;
import myblog.blog.article.domain.Article;
import myblog.blog.article.domain.Tags;
import myblog.blog.category.appliacation.port.incomming.response.CategorySimpleDto;
import myblog.blog.category.domain.Category;
import org.mapstruct.*;
@Mapper(
componentModel = "spring",
injectionStrategy = InjectionStrategy.CONSTRUCTOR,
unmappedTargetPolicy = ReportingPolicy.ERROR
)
public interface ArticleDtoMapper {
ArticleResponseForCardBox cardBox(Article article);
@Mappings({
@Mapping(target = "articleTagList",ignore = true)
})
ArticleResponseForEdit edit(Article article);
@Mappings({
@Mapping(target = "tags",ignore = true),
@Mapping(source = "article.category.title", target = "category"),
@Mapping(source = "article.member.id", target = "memberId"),
})
ArticleResponseForDetail detail(Article article);
ArticleResponseByCategory category(Article article);
TagsResponse of(Tags tag);
}