package it.sw.pa.comune.artegna.service.mapper;

import it.sw.pa.comune.artegna.domain.Messaggio;
import it.sw.pa.comune.artegna.domain.UtenteApp;
import it.sw.pa.comune.artegna.service.dto.MessaggioDTO;
import it.sw.pa.comune.artegna.service.dto.UtenteAppDTO;
import org.mapstruct.*;

/**
 * Mapper for the entity {@link Messaggio} and its DTO {@link MessaggioDTO}.
 */
@Mapper(componentModel = "spring")
public interface MessaggioMapper extends EntityMapper<MessaggioDTO, Messaggio> {
    @Mapping(target = "utente", source = "utente", qualifiedByName = "utenteAppUsername")
    MessaggioDTO toDto(Messaggio s);

    @Named("utenteAppUsername")
    @BeanMapping(ignoreByDefault = true)
    @Mapping(target = "id", source = "id")
    @Mapping(target = "username", source = "username")
    UtenteAppDTO toDtoUtenteAppUsername(UtenteApp utenteApp);
}
