create room api added

This commit is contained in:
Moon Patel
2023-07-02 15:49:30 +05:30
parent bacc794ec5
commit ea116e7f6a
+18 -2
View File
@@ -1,10 +1,26 @@
const router = require("express").Router();
const uuid = require("uuid");
const { createRoom } = require("../socket");
const { sendEmail } = require("../mail");
const { User } = require("../models/user");
// rooms can only be created through HTTP requests and destroyed only by socket.io server
// and vice versan is not true
router.post("/create", async (req, res, next) => {
// challenger and challenged are username
const { challenger, challenged } = req.body;
const challengedEmail = await User.findOne({ username: challenged }).email;
router.post("/create", (req, res, next) => {
const roomID = uuid.v4();
createRoom(roomID);
createRoom(roomID, req.body.timeLimit);
sendEmail(
challengedEmail,
`Challenge from ${challenger}`,
`To accept the challenge follow the link: http://192.168.136.99:5173/game/challenges/${challenged}/${roomID} \n login through: http://192.168.136.99:5173/login \n roomid:${roomID}`
);
res.json({ roomID });
});