package com.red.circle.other.app.inner.convertor.dynamic;

import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.other.infra.database.rds.entity.dynamic.DynamicBlacklist;
import com.red.circle.other.infra.database.rds.entity.dynamic.DynamicContent;
import com.red.circle.other.infra.database.rds.entity.dynamic.DynamicPicture;
import com.red.circle.other.infra.database.rds.entity.dynamic.DynamicTag;
import com.red.circle.other.infra.database.rds.entity.dynamic.DynamicTimeline;
import com.red.circle.other.inner.model.cmd.dynamic.DynamicContentCmd;
import com.red.circle.other.inner.model.cmd.dynamic.DynamicPictureCmd;
import com.red.circle.other.inner.model.cmd.dynamic.DynamicTagCmd;
import com.red.circle.other.inner.model.cmd.dynamic.DynamicTimelineCmd;
import com.red.circle.other.inner.model.dto.dynamic.DynamicPictureDTO;
import com.red.circle.other.inner.model.dto.dynamic.DynamicTagDTO;
import com.red.circle.other.inner.model.dto.dynamic.PageDynamicBlacklistDTO;
import org.mapstruct.Mapper;

/**
 * @author pengliang on 2023/6/5
 */
@Mapper(componentModel = ConvertorModel.SPRING)
public interface DynamicInnerConvertor {

  PageDynamicBlacklistDTO toDynamicBlacklistDTO(DynamicBlacklist dynamicBlacklist);

  DynamicPictureDTO toDynamicPictureDTO(DynamicPicture dynamicPicture);

  DynamicTag toDynamicTag(DynamicTagCmd cmd);

  DynamicTagDTO toDynamicTagDTO(DynamicTag dynamicTag);

  DynamicContent toDynamicContent(DynamicContentCmd cmd);

  DynamicPicture toDynamicPicture(DynamicPictureCmd cmd);

  DynamicTimeline toDynamicTimeline(DynamicTimelineCmd cmd);
}
