diff --git a/src/main/kotlin/player/services/PlayerServiceImpl.kt b/src/main/kotlin/player/services/PlayerServiceImpl.kt index d58bc5cd002c7543cd4b3c15991a2914fb42a7d6..c061dd2968bd3c7de2b5d5bd81fdbaafa0f622f5 100644 --- a/src/main/kotlin/player/services/PlayerServiceImpl.kt +++ b/src/main/kotlin/player/services/PlayerServiceImpl.kt @@ -15,26 +15,30 @@ import org.slf4j.LoggerFactory class PlayerServiceImpl(private val playerRepository: PlayerRepository) : PlayerService { private val logger = LoggerFactory.getLogger(Application::class.java) - //0Transactional override suspend fun createNewPlayer(playerCreationDTO: PlayerCreationDTO): Player { - logger.info("Creating new player ") + logger.info("Creating new player") if (playerRepository.findByPseudo(playerCreationDTO.pseudo) != null) { throw AlreadyExistingPlayerException(playerCreationDTO.pseudo) } - return playerRepository.create(playerCreationDTO.toPlayer()) + val created = playerRepository.create(playerCreationDTO.toPlayer()) + logger.info("Player ${created.pseudo} successfully created") + return created } override suspend fun updatePlayer(playerUpdateDTO: PlayerUpdateDTO): Player { + logger.info("Updating player ${playerUpdateDTO.pseudo}") getPlayerByPseudo(playerUpdateDTO.pseudo) - return playerRepository.update(playerUpdateDTO.toPlayer()) + val updated = playerRepository.update(playerUpdateDTO.toPlayer()) + logger.info("Player ${updated.pseudo} successfully updated") + return updated } override suspend fun getPlayerByPseudo(pseudo: String): Player { return playerRepository.findByPseudo(pseudo) ?: throw NotFoundException("Player $pseudo not found") } - //transac override suspend fun getPlayerInfoByPseudo(pseudo: String): PlayerInfoDTO { + logger.info("Gathering infos for $pseudo") val player = getPlayerByPseudo(pseudo) val rank = playerRepository.getRank(player) return player.toPlayerInfoDTO(rank) @@ -44,7 +48,8 @@ class PlayerServiceImpl(private val playerRepository: PlayerRepository) : Player val allPlayers = playerRepository.findAll() var currentRank = 1 var previousPoints = 0 - return allPlayers.sortedByDescending { it.pointsNumber }.mapIndexed { index, player -> + logger.info("Sorting all player by their rank") + val sorted = allPlayers.sortedByDescending { it.pointsNumber }.mapIndexed { index, player -> if (previousPoints != player.pointsNumber) { currentRank = index + 1 } @@ -55,10 +60,13 @@ class PlayerServiceImpl(private val playerRepository: PlayerRepository) : Player ranking = currentRank, ) } + return sorted } override suspend fun deleteAllPlayers() { + logger.info("Deleting all players from database") playerRepository.deleteAll() + logger.info("Players successfully deleted") } } \ No newline at end of file