Messages from io gets saved to redis in message list. Endpoint for clearing, should be called when a lottery is ended.
This commit is contained in:
		| @@ -1,4 +1,7 @@ | ||||
| module.exports = io => { | ||||
| const path = require("path"); | ||||
| const { addMessage } = require(path.join(__dirname + "/redis.js")); | ||||
|  | ||||
| const io = (io) => { | ||||
|   io.on("connection", socket => { | ||||
|     let username = null; | ||||
|  | ||||
| @@ -19,7 +22,10 @@ module.exports = io => { | ||||
|     socket.on("chat", msg => { | ||||
|       msg.username = username; | ||||
|       msg.timestamp = new Date().getTime(); | ||||
|       addMessage(msg); | ||||
|       io.emit("chat", msg); | ||||
|     }); | ||||
|   }); | ||||
| }; | ||||
|  | ||||
| module.exports = io; | ||||
|   | ||||
							
								
								
									
										33
									
								
								api/chatHistory.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								api/chatHistory.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| const express = require("express"); | ||||
| const path = require("path"); | ||||
| const router = express.Router(); | ||||
|  | ||||
| const { history, clearHistory } = require(path.join(__dirname + "/../api/redis")); | ||||
|  | ||||
| router.use((req, res, next) => { | ||||
|   next(); | ||||
| }); | ||||
|  | ||||
| router.route("/chat/history").get(async (req, res) => { | ||||
|   let { skip, take } = req.query; | ||||
|   skip = !isNaN(skip) ? Number(skip) : undefined; | ||||
|   take = !isNaN(take) ? Number(take) : undefined; | ||||
|  | ||||
|   try { | ||||
|     const messages = await history(skip, take); | ||||
|     res.json(messages) | ||||
|   } catch(error) { | ||||
|     res.status(500).send(error); | ||||
|   } | ||||
| }); | ||||
|  | ||||
| router.route("/chat/history").delete(async (req, res) => { | ||||
|   try { | ||||
|     const messages = await clearHistory(); | ||||
|     res.json(messages) | ||||
|   } catch(error) { | ||||
|     res.status(500).send(error); | ||||
|   } | ||||
| }); | ||||
|  | ||||
| module.exports = router; | ||||
| @@ -15,6 +15,7 @@ const virtualApi = require(path.join(__dirname + "/api/virtualLottery")); | ||||
|  | ||||
| //This is required for the chat to work | ||||
| const chat = require(path.join(__dirname + "/api/chat"))(io); | ||||
| const chatHistory = require(path.join(__dirname + "/api/chatHistory")); | ||||
|  | ||||
| const bodyParser = require("body-parser"); | ||||
|  | ||||
| @@ -89,6 +90,7 @@ app.use("/", loginApi); | ||||
| app.use("/api/", updateApi); | ||||
| app.use("/api/", retrieveApi); | ||||
| app.use("/api/", wineinfoApi); | ||||
| app.use("/api/", chatHistory); | ||||
| app.use("/api/virtual/", virtualApi(io)); | ||||
| app.use("/subscription", subscriptionApi); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user