Skip to content

Commit

Permalink
change password to code, add migration steps, add availableCharacters…
Browse files Browse the repository at this point in the history
… field to party for latest GHS
  • Loading branch information
Lurkars committed Feb 19, 2024
1 parent b59d404 commit a296750
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 8 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>17</java.version>
<revision>0.88.0</revision>
<revision>0.89.0</revision>
</properties>

<parent>
Expand Down
20 changes: 20 additions & 0 deletions src/main/java/de/champonthis/ghs/server/model/Party.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ public class Party {
@Required
private LinkedList<GameCharacterModel> characters = new LinkedList<>();
@Required
private LinkedList<GameCharacterModel> availableCharacters = new LinkedList<>();
@Required
private LinkedList<GameCharacterModel> retirements = new LinkedList<>();
@Required
private LinkedList<CountIdentifier> unlockedItems = new LinkedList<>();
Expand Down Expand Up @@ -501,6 +503,24 @@ public void setCharacters(LinkedList<GameCharacterModel> characters) {
this.characters = characters;
}

/**
* Gets the available characters.
*
* @return the available characters
*/
public LinkedList<GameCharacterModel> getAvailableCharacters() {
return availableCharacters;
}

/**
* Sets the available characters.
*
* @param availableCharacters the new available characters
*/
public void setAvailableCharacters(LinkedList<GameCharacterModel> availableCharacters) {
this.availableCharacters = availableCharacters;
}

/**
* Gets the weeks.
*
Expand Down
22 changes: 15 additions & 7 deletions src/main/java/de/champonthis/ghs/server/socket/MessageHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -146,14 +146,17 @@ public void handleMessage(WebSocketSession session, WebSocketMessage<?> message)
try {
JsonObject messageObject = JsonParser.parseString(textMessage.getPayload()).getAsJsonObject();

if (messageObject.get("password") == null || messageObject.get("password").isJsonNull()) {
sendError(session, "'password' missing");
if ((messageObject.get("password") == null || messageObject.get("password").isJsonNull())
&& (messageObject.get("code") == null || messageObject.get("code").isJsonNull())) {
sendError(session, "'code' missing");
}

String gameCode = messageObject.get("password").getAsString();
String gameCode = messageObject.has("code") && !messageObject.get("code").isJsonNull()
? messageObject.get("code").getAsString()
: messageObject.get("password").getAsString();

if (!StringUtils.hasText(gameCode)) {
sendError(session, "empty 'password'");
sendError(session, "empty 'game code'");
} else if (gameCode.length() > 1024) {
sendError(session, "game code too long!");
}
Expand Down Expand Up @@ -485,18 +488,23 @@ public void handleMessage(WebSocketSession session, WebSocketMessage<?> message)
}

JsonElement payload = messageObject.get("payload");
if (!payload.isJsonObject() || !payload.getAsJsonObject().has("password")
if (!payload.isJsonObject()
|| !payload.getAsJsonObject().has("password")
&& !payload.getAsJsonObject().has("code")
|| !payload.getAsJsonObject().has("permissions")) {
sendError(session, "invalid 'payload'");
}

String permissionGameCode = payload.getAsJsonObject().get("password").getAsString();
String permissionGameCode = payload.getAsJsonObject().has("code")
&& !payload.getAsJsonObject().get("code").isJsonNull()
? payload.getAsJsonObject().get("code").getAsString()
: payload.getAsJsonObject().get("password").getAsString();

Long permissionGameId = manager.getGameIdByGameCode(permissionGameCode);

if (permissionGameId != null && !permissionGameId.equals(gameId)
|| permissionGameCode.equals(gameCode)) {
sendError(session, "password already in use");
sendError(session, "'game code' already in use");
}

if (permissionGameId != null
Expand Down

0 comments on commit a296750

Please sign in to comment.