diff options
Diffstat (limited to 'jws/epibazaar/common/src')
33 files changed, 451 insertions, 0 deletions
diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/ItemAggregate.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/ItemAggregate.java new file mode 100644 index 0000000..2c21136 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/ItemAggregate.java @@ -0,0 +1,71 @@ +package fr.epita.assistants.common.aggregate; + +import fr.epita.assistants.common.utils.ItemInfo; +import io.smallrye.common.constraint.NotNull; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Value; + +import java.util.HashMap; +import java.util.Map; + +@Value +public class ItemAggregate { + @NotNull + public ResourceType type; + @NotNull + public Float quantity; + @Getter + @AllArgsConstructor + public enum ResourceType { + MONEY(new ItemInfo() + .withCollectable(false) + .withWalkable(false) + .withCollectQuantity(0) + .withPrice(null) + .withValue('M') + ), + GROUND(new ItemInfo() + .withCollectable(false) + .withWalkable(true) + .withCollectQuantity(0) + .withPrice(null) + .withValue('G') + ), + WATER(new ItemInfo() + .withCollectable(false) + .withWalkable(false) + .withCollectQuantity(0) + .withPrice(null) + .withValue('O') + ), + ROCK(new ItemInfo() + .withCollectable(true) + .withWalkable(true) + .withCollectQuantity(3) + .withPrice(3f) + .withValue('R') + ), + WOOD(new ItemInfo() + .withCollectable(true) + .withWalkable(true) + .withCollectQuantity(5) + .withPrice(2f) + .withValue('W') + ); + + private static final Map<Character, ResourceType> lookup = new HashMap<>(); + + static { + for (ResourceType entity : ResourceType.values()) { + lookup.put(entity.getItemInfo().getValue(), entity); + } + } + + private final ItemInfo itemInfo; + + public static ResourceType getResource(Character c) { + return lookup.get(c); + } + } +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/ResetInventoryAggregate.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/ResetInventoryAggregate.java new file mode 100644 index 0000000..a044af6 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/ResetInventoryAggregate.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.aggregate; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +import java.util.List; + +@Value +public class ResetInventoryAggregate { + @NotNull + List<ItemAggregate> items; +}
\ No newline at end of file diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/SellItemAggregate.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/SellItemAggregate.java new file mode 100644 index 0000000..f0d478c --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/SellItemAggregate.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.aggregate; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +import java.util.List; + +@Value +public class SellItemAggregate { + @NotNull + List<ItemAggregate> items; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/SyncInventoryAggregate.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/SyncInventoryAggregate.java new file mode 100644 index 0000000..1c7e489 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/SyncInventoryAggregate.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.aggregate; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +import java.util.List; + +@Value +public class SyncInventoryAggregate { + @NotNull + List<ItemAggregate> items; +}
\ No newline at end of file diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/UpgradeItemProducerAggregate.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/UpgradeItemProducerAggregate.java new file mode 100644 index 0000000..c977061 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/UpgradeItemProducerAggregate.java @@ -0,0 +1,10 @@ +package fr.epita.assistants.common.aggregate; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +@Value +public class UpgradeItemProducerAggregate { + @NotNull + Float newMoney; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/UpgradeShopAggregate.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/UpgradeShopAggregate.java new file mode 100644 index 0000000..09aa31c --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/UpgradeShopAggregate.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.aggregate; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +@Value +public class UpgradeShopAggregate { + @NotNull + Integer shopId; + @NotNull + Float newMoney; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/ItemRequest.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/ItemRequest.java new file mode 100644 index 0000000..b84667b --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/ItemRequest.java @@ -0,0 +1,13 @@ +package fr.epita.assistants.common.api.request; + +import fr.epita.assistants.common.aggregate.ItemAggregate; +import lombok.AllArgsConstructor; +import lombok.Getter; + + +@Getter +@AllArgsConstructor +public class ItemRequest { + float quantity; + ItemAggregate.ResourceType type; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/ItemsRequest.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/ItemsRequest.java new file mode 100644 index 0000000..ff873db --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/ItemsRequest.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.api.request; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.List; + +@Getter +@AllArgsConstructor +public class ItemsRequest { + List<ItemRequest> itemsRequest; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/MoveRequest.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/MoveRequest.java new file mode 100644 index 0000000..745fa2b --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/MoveRequest.java @@ -0,0 +1,11 @@ +package fr.epita.assistants.common.api.request; + +import fr.epita.assistants.common.utils.Direction; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class MoveRequest { + Direction direction; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/StartRequest.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/StartRequest.java new file mode 100644 index 0000000..275cd27 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/StartRequest.java @@ -0,0 +1,10 @@ +package fr.epita.assistants.common.api.request; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class StartRequest { + String mapPath; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ItemResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ItemResponse.java new file mode 100644 index 0000000..f5cfcc0 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ItemResponse.java @@ -0,0 +1,13 @@ +package fr.epita.assistants.common.api.response; + +import fr.epita.assistants.common.aggregate.ItemAggregate; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class ItemResponse { + long id; + float quantity; + ItemAggregate.ResourceType type; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ItemsResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ItemsResponse.java new file mode 100644 index 0000000..919b4e6 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ItemsResponse.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.api.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.List; + +@Getter +@AllArgsConstructor +public class ItemsResponse { + List<ItemResponse> itemsResponse; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/MoveResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/MoveResponse.java new file mode 100644 index 0000000..3b7d8cc --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/MoveResponse.java @@ -0,0 +1,11 @@ +package fr.epita.assistants.common.api.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class MoveResponse { + int posX; + int posY; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/PlayerResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/PlayerResponse.java new file mode 100644 index 0000000..b852f27 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/PlayerResponse.java @@ -0,0 +1,18 @@ +package fr.epita.assistants.common.api.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.time.LocalDateTime; + +@Getter +@AllArgsConstructor +public class PlayerResponse { + int posX; + int posY; + LocalDateTime lastMove; + LocalDateTime lastCollect; + float moveSpeedMultiplier; + float staminaMultiplier; + float collectRateMultiplier; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopPriceResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopPriceResponse.java new file mode 100644 index 0000000..59cf22e --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopPriceResponse.java @@ -0,0 +1,10 @@ +package fr.epita.assistants.common.api.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class ShopPriceResponse { + float shopPrice; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopResponse.java new file mode 100644 index 0000000..c168df5 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopResponse.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.api.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class ShopResponse { + int id; + float priceMultiplier; + float upgradePrice; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopsResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopsResponse.java new file mode 100644 index 0000000..f2a114b --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopsResponse.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.api.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.List; + +@Getter +@AllArgsConstructor +public class ShopsResponse { + List<ShopResponse> shops; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/StartResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/StartResponse.java new file mode 100644 index 0000000..463564c --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/StartResponse.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.api.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.List; + +@Getter +@AllArgsConstructor +public class StartResponse { + List<List<String>> map; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/UpgradeCostResponse.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/UpgradeCostResponse.java new file mode 100644 index 0000000..19557a1 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/UpgradeCostResponse.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.api.response; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class UpgradeCostResponse { + float upgradeCollectCost; + float upgradeMoveCost; + float upgradeStaminaCost; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/CollectItemCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/CollectItemCommand.java new file mode 100644 index 0000000..94752cc --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/CollectItemCommand.java @@ -0,0 +1,14 @@ +package fr.epita.assistants.common.command; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +import static fr.epita.assistants.common.aggregate.ItemAggregate.ResourceType; + +@Value +public class CollectItemCommand { + @NotNull + ResourceType type; + @NotNull + Float collectRateMultiplier; +}
\ No newline at end of file diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/CreateShopCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/CreateShopCommand.java new file mode 100644 index 0000000..f5e56e5 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/CreateShopCommand.java @@ -0,0 +1,10 @@ +package fr.epita.assistants.common.command; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +@Value +public class CreateShopCommand { + @NotNull + public Float price; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/ResetInventoryCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/ResetInventoryCommand.java new file mode 100644 index 0000000..c2bdfc3 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/ResetInventoryCommand.java @@ -0,0 +1,11 @@ +package fr.epita.assistants.common.command; + +import com.fasterxml.jackson.annotation.JsonInclude; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +@JsonInclude(NON_NULL) +public class ResetInventoryCommand { + public ResetInventoryCommand() { + } +}
\ No newline at end of file diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/SellItemCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/SellItemCommand.java new file mode 100644 index 0000000..aaa8c0b --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/SellItemCommand.java @@ -0,0 +1,15 @@ +package fr.epita.assistants.common.command; + +import fr.epita.assistants.common.aggregate.ItemAggregate; +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +import java.util.List; + +@Value +public class SellItemCommand { + @NotNull + List<ItemAggregate> items; + @NotNull + Float priceMultiplier; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/SyncInventoryCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/SyncInventoryCommand.java new file mode 100644 index 0000000..d077093 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/SyncInventoryCommand.java @@ -0,0 +1,11 @@ +package fr.epita.assistants.common.command; + +import com.fasterxml.jackson.annotation.JsonInclude; + +import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; + +@JsonInclude(NON_NULL) +public class SyncInventoryCommand { + public SyncInventoryCommand() { + } +}
\ No newline at end of file diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeCollectRateCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeCollectRateCommand.java new file mode 100644 index 0000000..de0feaf --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeCollectRateCommand.java @@ -0,0 +1,10 @@ +package fr.epita.assistants.common.command; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +@Value +public class UpgradeCollectRateCommand { + @NotNull + Float price; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeMovementSpeedCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeMovementSpeedCommand.java new file mode 100644 index 0000000..ce3504c --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeMovementSpeedCommand.java @@ -0,0 +1,10 @@ +package fr.epita.assistants.common.command; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +@Value +public class UpgradeMovementSpeedCommand { + @NotNull + Float price; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeShopPriceCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeShopPriceCommand.java new file mode 100644 index 0000000..9fa68a1 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeShopPriceCommand.java @@ -0,0 +1,12 @@ +package fr.epita.assistants.common.command; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +@Value +public class UpgradeShopPriceCommand { + @NotNull + Integer shopId; + @NotNull + Float price; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeStaminaCommand.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeStaminaCommand.java new file mode 100644 index 0000000..de4fa7e --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeStaminaCommand.java @@ -0,0 +1,10 @@ +package fr.epita.assistants.common.command; + +import io.smallrye.common.constraint.NotNull; +import lombok.Value; + +@Value +public class UpgradeStaminaCommand { + @NotNull + Float price; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/Direction.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/Direction.java new file mode 100644 index 0000000..815016c --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/Direction.java @@ -0,0 +1,15 @@ +package fr.epita.assistants.common.utils; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum Direction { + UP(new Point(0, -1)), + DOWN(new Point(0, 1)), + RIGHT(new Point(1, 0)), + LEFT(new Point(-1, 0)); + + private final Point point; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/ErrorInfo.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/ErrorInfo.java new file mode 100644 index 0000000..cd1a2d4 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/ErrorInfo.java @@ -0,0 +1,10 @@ +package fr.epita.assistants.common.utils; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class ErrorInfo { + private String message; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/ItemInfo.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/ItemInfo.java new file mode 100644 index 0000000..02d40fb --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/ItemInfo.java @@ -0,0 +1,20 @@ +package fr.epita.assistants.common.utils; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.With; + +@AllArgsConstructor +@NoArgsConstructor +@Getter +@With +public class ItemInfo { + private boolean isCollectable; + private boolean isWalkable; + + private char value; + + private int collectQuantity; + private Float price; +} diff --git a/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/Point.java b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/Point.java new file mode 100644 index 0000000..f9ebcf8 --- /dev/null +++ b/jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/Point.java @@ -0,0 +1,13 @@ +package fr.epita.assistants.common.utils; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; + +@AllArgsConstructor +@Setter +@Getter +public class Point { + private int posX; + private int posY; +} diff --git a/jws/epibazaar/common/src/main/resources/application.properties b/jws/epibazaar/common/src/main/resources/application.properties new file mode 100644 index 0000000..9db5e48 --- /dev/null +++ b/jws/epibazaar/common/src/main/resources/application.properties @@ -0,0 +1,3 @@ +quarkus.devservices.enabled=true +quarkus.kafka.devservices.image-name=reg.undercloud.cri.epita.fr/docker/redpandadata/redpanda:v24.1.2 +%test.quarkus.devservices.enabled=false |
