feat: Send message to chat when item is used

This commit is contained in:
2024-12-23 18:02:41 +01:00
parent 89d9799ae2
commit 143c4761f5
5 changed files with 28 additions and 2 deletions

View File

@ -1,6 +1,9 @@
package cz.jzitnik.chronos.controllers;
import com.fasterxml.jackson.databind.ObjectMapper;
import cz.jzitnik.chronos.entities.Item;
import cz.jzitnik.chronos.entities.Message;
import cz.jzitnik.chronos.entities.MessageType;
import cz.jzitnik.chronos.entities.Player;
import cz.jzitnik.chronos.payload.errors.ItemNotUsableException;
import cz.jzitnik.chronos.payload.errors.NotFoundError;
@ -91,9 +94,13 @@ public class PlayerController {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(UnifiedResponse.failure(e.toError()));
}
player.getMessages().add(new Message(player, String.valueOf(item.getId()), MessageType.ITEM_USED));
playerRepository.save(player);
itemRepository.delete(item);
item.setOwner(null);
itemRepository.save(item);
return ResponseEntity.ok(UnifiedResponse.success(null));
}

View File

@ -5,5 +5,6 @@ public enum MessageType {
MOVE_TO_ROOM,
GOT_ITEM,
LOST_ITEM,
ITEM_USED,
JOINED,
}