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;
 | 
			
		||||
		Reference in New Issue
	
	Block a user