diff --git a/src/main/java/com/videogamescatalogue/backend/service/usergame/UserGameServiceImpl.java b/src/main/java/com/videogamescatalogue/backend/service/usergame/UserGameServiceImpl.java index e498194..a89879c 100644 --- a/src/main/java/com/videogamescatalogue/backend/service/usergame/UserGameServiceImpl.java +++ b/src/main/java/com/videogamescatalogue/backend/service/usergame/UserGameServiceImpl.java @@ -7,13 +7,16 @@ import com.videogamescatalogue.backend.exception.EntityNotFoundException; import com.videogamescatalogue.backend.mapper.game.GameMapper; import com.videogamescatalogue.backend.mapper.usergame.UserGameMapper; +import com.videogamescatalogue.backend.model.Developer; import com.videogamescatalogue.backend.model.Game; import com.videogamescatalogue.backend.model.User; import com.videogamescatalogue.backend.model.UserGame; +import com.videogamescatalogue.backend.repository.DeveloperRepository; import com.videogamescatalogue.backend.repository.GameRepository; import com.videogamescatalogue.backend.repository.UserGameRepository; import com.videogamescatalogue.backend.service.RawgApiClient; import java.util.Optional; +import java.util.Set; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -27,6 +30,7 @@ public class UserGameServiceImpl implements UserGameService { private final RawgApiClient apiClient; private final UserGameMapper userGameMapper; private final GameMapper gameMapper; + private final DeveloperRepository developerRepository; @Override public UserGameDto createOrUpdate(CreateUserGameDto createDto, User user) { @@ -115,6 +119,9 @@ private UserGameDto updateUserGameStatus(UserGame.GameStatus status, UserGame us private Game getGameFromApi(Long apiId) { ApiResponseFullGameDto apiGame = apiClient.getGameById(apiId); - return gameMapper.toModel(apiGame); + Game game = gameMapper.toModel(apiGame); + Set developers = game.getDevelopers(); + developerRepository.saveAll(developers); + return game; } } diff --git a/src/main/resources/db/changelog/changes/18-alter-games-description-to-text.yaml b/src/main/resources/db/changelog/changes/18-alter-games-description-to-text.yaml new file mode 100644 index 0000000..99f46ff --- /dev/null +++ b/src/main/resources/db/changelog/changes/18-alter-games-description-to-text.yaml @@ -0,0 +1,9 @@ +databaseChangeLog: + - changeSet: + id: alter-games-description-to-text + author: julia + changes: + - modifyDataType: + tableName: games + columnName: description + newDataType: TEXT diff --git a/src/main/resources/db/changelog/db.changelog-master.yaml b/src/main/resources/db/changelog/db.changelog-master.yaml index 6baf17b..cb29294 100644 --- a/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/src/main/resources/db/changelog/db.changelog-master.yaml @@ -33,3 +33,5 @@ databaseChangeLog: file: classpath:/db/changelog/changes/16-create-developers-table.yaml - include: file: classpath:/db/changelog/changes/17-create-games-developers-table.yaml + - include: + file: classpath:/db/changelog/changes/18-alter-games-description-to-text.yaml