package com.emonster.taroaichat.service.mapper;

import com.emonster.taroaichat.domain.ChatMessage;
import com.emonster.taroaichat.domain.TarotSession;
import com.emonster.taroaichat.service.dto.ChatMessageDTO;
import com.emonster.taroaichat.service.dto.TarotSessionDTO;
import org.mapstruct.*;

/**
 * Mapper for the entity {@link ChatMessage} and its DTO {@link ChatMessageDTO}.
 */
@Mapper(componentModel = "spring")
public interface ChatMessageMapper extends EntityMapper<ChatMessageDTO, ChatMessage> {
    @Mapping(target = "session", source = "session", qualifiedByName = "tarotSessionId")
    ChatMessageDTO toDto(ChatMessage s);

    @Named("tarotSessionId")
    @BeanMapping(ignoreByDefault = true)
    @Mapping(target = "id", source = "id")
    TarotSessionDTO toDtoTarotSessionId(TarotSession tarotSession);
}
