Эх сурвалжийг харах

Modifying API to not accept a player name at game creation

Kirk Trombley 5 жил өмнө
parent
commit
791d94649b

+ 0 - 2
README.md

@@ -16,7 +16,6 @@ GET /
         "status": string
     }
 PUT /game
-    Header Authorization: Name string
     Accepts {
         "timer": number
     }
@@ -81,7 +80,6 @@ POST /game/{ID}/guesses/{round}
 - Improve scoring math
 - Improve MapCrunch logic to distribute countries
 - Asynchronously generate locations, allowing game creation to appear faster
-- Change API to not require name of game creator
 - Update UI to create game without providing a name
 - Genericize number of rounds in API
 - Change UI to allow round number setting

+ 1 - 2
client/src/domain/apiMethods.js

@@ -12,11 +12,10 @@ export const getStatus = async () => {
     }
 }
 
-export const createGame = async (name, timer) => {
+export const createGame = async (timer) => {
     const res = await fetch(`${API_BASE}/game`, {
         method: "PUT",
         headers: {
-            "Authorization": `Name ${name}`,
             "Content-Type": "application/json",
         },
         body: JSON.stringify({ timer }),

+ 2 - 1
client/src/domain/gameStore.js

@@ -29,8 +29,9 @@ export const [
   setPlayerName: ([set], playerName) => set({ playerName }),
   goToLobby: ([set], gameId) => set({ gameId, gameState: PRE_ROUND }),
   createGame: async ([set, get], timer) => {
+    const gameId = await createGame(timer);
     const name = get.playerName();
-    const gameId = await createGame(name, timer);
+    await joinGame(gameId, name);
     set({ gameId, gameJoined: true, gameState: PRE_ROUND });
   },
   joinGame: async ([set, get]) => {

+ 2 - 2
server/db.py

@@ -16,7 +16,7 @@ class Game(db.Model):
     players = db.relationship("Player", lazy=True)
 
     @staticmethod
-    def create(timer, creator, rounds=5):
+    def create(timer, rounds=5):
         game_id = str(uuid.uuid4())
         while Game.query.get(game_id) is not None:
             # basically impossible collision, but let's be safe
@@ -39,7 +39,7 @@ class Game(db.Model):
             )
             db.session.add(coord)
 
-        new_game.join(creator) # commits the session
+        db.session.commit()
 
         return new_game
 

+ 1 - 2
server/game_api.py

@@ -30,12 +30,11 @@ def require_player(game_id):
 
 @game.route("", methods=["PUT"])
 def create_game():
-    name = require_name()
     timer = request.json.get("timer", None)
     if not isinstance(timer, int) or timer <= 0:
         abort(400)
 
-    new_game = db.Game.create(timer, name)
+    new_game = db.Game.create(timer)
 
     return jsonify({"gameId": new_game.game_id})