sessions added
This commit is contained in:
parent
47dc0848ca
commit
526a97268e
22
backend/package-lock.json
generated
22
backend/package-lock.json
generated
@ -6,6 +6,7 @@
|
||||
"": {
|
||||
"dependencies": {
|
||||
"body-parser": "^1.19.0",
|
||||
"cookie-parser": "^1.4.5",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.17.1",
|
||||
"express-session": "^1.17.1",
|
||||
@ -128,6 +129,18 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/cookie-parser": {
|
||||
"version": "1.4.5",
|
||||
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz",
|
||||
"integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==",
|
||||
"dependencies": {
|
||||
"cookie": "0.4.0",
|
||||
"cookie-signature": "1.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cookie-signature": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
@ -955,6 +968,15 @@
|
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
|
||||
"integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
|
||||
},
|
||||
"cookie-parser": {
|
||||
"version": "1.4.5",
|
||||
"resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz",
|
||||
"integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==",
|
||||
"requires": {
|
||||
"cookie": "0.4.0",
|
||||
"cookie-signature": "1.0.6"
|
||||
}
|
||||
},
|
||||
"cookie-signature": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"body-parser": "^1.19.0",
|
||||
"cookie-parser": "^1.4.5",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.17.1",
|
||||
"express-session": "^1.17.1",
|
||||
|
||||
@ -4,8 +4,8 @@ var router = express.Router();
|
||||
var RoomModel = require('../schemas/room');
|
||||
|
||||
//creating new room in db
|
||||
router.post('/add', async function (req, res) {
|
||||
let id;
|
||||
router.post('/add', function (req, res) {
|
||||
console.log(req.session);
|
||||
RoomModel.findOne( { full: false, started: false }, function (err, results) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
@ -18,7 +18,12 @@ router.post('/add', async function (req, res) {
|
||||
players: [req.body.name],
|
||||
});
|
||||
newRoom.save()
|
||||
.then(()=>{res.send({id: results._id}); })
|
||||
.then( async function(){
|
||||
req.session.roomId = newRoom._id;
|
||||
req.session.player = req.body.name;
|
||||
|
||||
res.send({id: newRoom._id});
|
||||
})
|
||||
.catch(err => res.status(400).json('Error: ' + err))
|
||||
|
||||
}else {
|
||||
@ -36,11 +41,21 @@ router.post('/add', async function (req, res) {
|
||||
console.log(err)
|
||||
}
|
||||
else{
|
||||
req.session.roomId = results._id;
|
||||
req.session.player = req.body.name;
|
||||
console.log("Updated Docs : ", docs);
|
||||
}
|
||||
}
|
||||
);
|
||||
res.send({id: results._id});
|
||||
).then(()=>{
|
||||
req.session.roomId = results._id;
|
||||
req.session.player = req.body.name;
|
||||
console.log(req.session);
|
||||
res.send({
|
||||
id: results._id,
|
||||
player: req.session.player
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@ -1,15 +1,37 @@
|
||||
const express = require("express");
|
||||
const cors = require('cors');
|
||||
const cookieParser = require('cookie-parser')
|
||||
const session = require('express-session')
|
||||
const bodyParser = require('body-parser');
|
||||
|
||||
const app = express();
|
||||
app.use(cookieParser());
|
||||
app.use(bodyParser.urlencoded({
|
||||
extended: true
|
||||
}));
|
||||
app.use(bodyParser.json());
|
||||
app.use(cors());
|
||||
app.set('trust proxy', 1)
|
||||
app.use(cors({
|
||||
origin: [
|
||||
'localhost:3001',
|
||||
'http://localhost:3001',
|
||||
'https://localhost:3001'
|
||||
],
|
||||
credentials: true,
|
||||
}))
|
||||
const PORT = 3000|| process.env.PORT;
|
||||
|
||||
//SESSION CONFIG
|
||||
app.use(session({
|
||||
secret: 'lalala',
|
||||
resave: false,
|
||||
saveUninitialized: true,
|
||||
cookie: {
|
||||
httpOnly: false,
|
||||
secure: false,},
|
||||
}));
|
||||
|
||||
|
||||
//DATABASE CONFIG
|
||||
const mongoose = require("mongoose");
|
||||
const CONNECTION_URI = require("./credentials.js").MONGODB_URL;
|
||||
@ -27,6 +49,10 @@ mongoose.connect(CONNECTION_URI, {
|
||||
const roomRoutes = require("./routes/room");
|
||||
const playerRoutes = require("./routes/player");
|
||||
|
||||
app.post('/', (req,res)=>{
|
||||
res.send("ok");
|
||||
})
|
||||
|
||||
app.use('/player', playerRoutes);
|
||||
app.use('/room', roomRoutes);
|
||||
|
||||
|
||||
@ -36,5 +36,6 @@
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
}
|
||||
},
|
||||
"proxy": "http://localhost:3000"
|
||||
}
|
||||
|
||||
18
src/App.js
18
src/App.js
@ -1,13 +1,27 @@
|
||||
import React, { useState } from 'react';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import axios from 'axios';
|
||||
import { BrowserRouter as Router , Redirect } from 'react-router-dom';
|
||||
import NameInput from './components/NameInput';
|
||||
|
||||
function App() {
|
||||
useEffect(()=>{
|
||||
axios.post('http://localhost:3000', {
|
||||
credentials: 'include',
|
||||
mode: 'cors'
|
||||
})
|
||||
.then((response)=> response.id!=null ? setRedirect(true): null);
|
||||
})
|
||||
const [id, setId] = useState('')
|
||||
const [redirect, setRedirect] = useState(false)
|
||||
const idCallback = (id)=>{
|
||||
setId(id);
|
||||
setRedirect(true);
|
||||
|
||||
axios.post('http://localhost:3000', {
|
||||
credentials: 'include',
|
||||
mode: 'cors',
|
||||
headers: { "Content-Type": "application/json" },
|
||||
})
|
||||
.then(()=> setRedirect(true))
|
||||
}
|
||||
return (
|
||||
<Router>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user