1 package com.codecool.bytebattlers.mapper; 2 3 import com.codecool.bytebattlers.controller.dto.RatingDto; 4 import com.codecool.bytebattlers.model.Rating; 5 import org.mapstruct.*; 6 7 @Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE, componentModel = MappingConstants.ComponentModel.SPRING) 8 public interface RatingMapper { 9 @Mapping(source = "boardGameGameName", target = "boardGame.gameName") 10 @Mapping(source = "boardGamePublicID", target = "boardGame.publicID") 11 @Mapping(source = "appUserName", target = "appUser.name") 12 @Mapping(source = "appUserPublicID", target = "appUser.publicID") 13 Rating toEntity(RatingDto ratingDto); 14 15 @InheritInverseConfiguration(name = "toEntity") 16 RatingDto toDto(Rating rating); 17 18 @InheritConfiguration(name = "toEntity") 19 @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE) 20 Rating partialUpdate(RatingDto ratingDto, @MappingTarget Rating rating); 21 }