]> git.cworth.org Git - empires-server/commitdiff
Move our router objects from exports.router to exports.Game.router
authorCarl Worth <cworth@cworth.org>
Mon, 1 Jun 2020 21:22:26 +0000 (14:22 -0700)
committerCarl Worth <cworth@cworth.org>
Mon, 1 Jun 2020 21:22:26 +0000 (14:22 -0700)
It feels cleaner to have a single object to import and hang everything
we need off of it.

empires.js
lmno.js
tictactoe.js

index 8007f932a41c4e6b599cf85d0e4fe6105f2b64ee..881a2c0dbdd41409bec91c6c1707323a14637e3c 100644 (file)
@@ -1,8 +1,6 @@
 const express = require("express");
 const Game = require("./game.js");
 
-const router = express.Router();
-
 const GamePhase = {
   JOIN:    1,
   REVEAL:  2,
@@ -247,6 +245,9 @@ class Empires extends Game {
 
 }
 
+Empires.router = express.Router();
+const router = Empires.router;
+
 router.post('/spectator', (request, response) => {
   const game = request.game;
   var name = request.session.nickname;
@@ -339,10 +340,9 @@ router.get('/players', (request, response) => {
   response.send(game.players);
 });
 
-exports.router = router;
-exports.Game = Empires;
-
 Empires.meta = {
   name: "Empires",
   identifier: "empires"
 };
+
+exports.Game = Empires;
diff --git a/lmno.js b/lmno.js
index 8d66b41ea09e066ffc2acce777a744c83f837c99..6651adfa692e60c401cb58d9cf4a5c5e951f4397 100644 (file)
--- a/lmno.js
+++ b/lmno.js
@@ -247,9 +247,10 @@ app.get('/admin/', auth_admin, (request, response) => {
 /* Mount sub apps. only _after_ we have done all the middleware we need. */
 for (let key in engines) {
   const engine = engines[key];
+  const router = engine.Game.router;
 
   /* Add routes that are common to all games. */
-  engine.router.get('/', (request, response) => {
+  router.get('/', (request, response) => {
     const game = request.game;
 
     if (! request.session.nickname)
@@ -258,7 +259,7 @@ for (let key in engines) {
       response.render(`${game.meta.identifier}-game.html`);
   });
 
-  engine.router.get('/events', (request, response) => {
+  router.get('/events', (request, response) => {
     const game = request.game;
 
     game.handle_events(request, response);
@@ -267,7 +268,7 @@ for (let key in engines) {
   /* Further, add some routes conditionally depending on whether the
    * engine provides specific, necessary methods for the routes. */
   if (engine.Game.prototype.add_move) {
-    engine.router.post('/move', (request, response) => {
+    router.post('/move', (request, response) => {
       const game = request.game;
       const move = request.body.move;
 
@@ -285,7 +286,7 @@ for (let key in engines) {
   }
 
   /* And mount the whole router at the path for the game. */
-  app.use(`/${engine.Game.meta.identifier}/[a-zA-Z0-9]{4}/`, engine.router);
+  app.use(`/${engine.Game.meta.identifier}/[a-zA-Z0-9]{4}/`, router);
 }
 
 app.listen(4000, function () {
index 2a8dd06f9d580398e483e7a554883beee54bcc4e..a60eed600c9bdccde3736d56bf2b988dd1a9e892 100644 (file)
@@ -1,8 +1,6 @@
 const express = require("express");
 const Game = require("./game.js");
 
-const router = express.Router();
-
 class TicTacToe extends Game {
   constructor(id) {
     super(id);
@@ -31,10 +29,11 @@ class TicTacToe extends Game {
   }
 }
 
-exports.router = router;
-exports.Game = TicTacToe;
+TicTacToe.router = express.Router();
 
 TicTacToe.meta = {
   name: "Tic Tac Toe",
   identifier: "tictactoe"
 };
+
+exports.Game = TicTacToe;