summaryrefslogtreecommitdiff
path: root/jws/epibazaar/common
diff options
context:
space:
mode:
Diffstat (limited to 'jws/epibazaar/common')
-rw-r--r--jws/epibazaar/common/pom.xml114
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/ItemAggregate.java71
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/ResetInventoryAggregate.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/SellItemAggregate.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/SyncInventoryAggregate.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/UpgradeItemProducerAggregate.java10
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/aggregate/UpgradeShopAggregate.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/ItemRequest.java13
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/ItemsRequest.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/MoveRequest.java11
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/request/StartRequest.java10
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ItemResponse.java13
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ItemsResponse.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/MoveResponse.java11
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/PlayerResponse.java18
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopPriceResponse.java10
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopResponse.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/ShopsResponse.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/StartResponse.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/api/response/UpgradeCostResponse.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/CollectItemCommand.java14
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/CreateShopCommand.java10
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/ResetInventoryCommand.java11
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/SellItemCommand.java15
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/SyncInventoryCommand.java11
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeCollectRateCommand.java10
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeMovementSpeedCommand.java10
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeShopPriceCommand.java12
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/command/UpgradeStaminaCommand.java10
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/Direction.java15
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/ErrorInfo.java10
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/ItemInfo.java20
-rw-r--r--jws/epibazaar/common/src/main/java/fr/epita/assistants/common/utils/Point.java13
-rw-r--r--jws/epibazaar/common/src/main/resources/application.properties3
34 files changed, 565 insertions, 0 deletions
diff --git a/jws/epibazaar/common/pom.xml b/jws/epibazaar/common/pom.xml
new file mode 100644
index 0000000..c1de2b7
--- /dev/null
+++ b/jws/epibazaar/common/pom.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>fr.epita.assistants</groupId>
+ <artifactId>epibazaar</artifactId>
+ <version>1.0.0</version>
+ </parent>
+ <artifactId>common</artifactId>
+ <version>1.0.0</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <mainClass>fully.qualified.MainClass</mainClass>
+ </manifest>
+ </archive>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-maven-plugin</artifactId>
+ <version>${quarkus.platform.version}</version>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <goals>
+ <goal>build</goal>
+ <goal>generate-code</goal>
+ <goal>generate-code-tests</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${compiler-plugin.version}</version>
+ <configuration>
+ <parameters>${maven.compiler.parameters}</parameters>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${versions.maven-surefire-plugin}</version>
+ <configuration>
+ <systemPropertyVariables>
+ <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
+ <maven.home>${maven.home}</maven.home>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+ <profile>
+ <id>fetch-bom</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>io.quarkus.platform</groupId>
+ <artifactId>quarkus-bom-quarkus-platform-properties</artifactId>
+ <version>3.17.5</version>
+ <type>properties</type>
+ </dependency>
+ </dependencies>
+ </profile>
+ <profile>
+ <id>native</id>
+ <activation>
+ <property>
+ <name>native</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>${versions.maven-surefire-plugin}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ <configuration>
+ <systemPropertyVariables>
+ <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
+ <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
+ <maven.home>${maven.home}</maven.home>
+ </systemPropertyVariables>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <properties>
+ <quarkus.package.type>native</quarkus.package.type>
+ </properties>
+ </profile>
+ </profiles>
+</project>
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