added creating rooms in db
This commit is contained in:
parent
99d347a514
commit
12372ef4f2
35
backend/package-lock.json
generated
35
backend/package-lock.json
generated
@ -5,6 +5,7 @@
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.17.1",
|
||||
"mongoose": "^5.12.0"
|
||||
}
|
||||
@ -135,6 +136,18 @@
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"node_modules/cors": {
|
||||
"version": "2.8.5",
|
||||
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
|
||||
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
|
||||
"dependencies": {
|
||||
"object-assign": "^4",
|
||||
"vary": "^1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
@ -509,6 +522,14 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/on-finished": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
||||
@ -884,6 +905,15 @@
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"cors": {
|
||||
"version": "2.8.5",
|
||||
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
|
||||
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
|
||||
"requires": {
|
||||
"object-assign": "^4",
|
||||
"vary": "^1"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
@ -1154,6 +1184,11 @@
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
|
||||
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
|
||||
},
|
||||
"on-finished": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.17.1",
|
||||
"mongoose": "^5.12.0"
|
||||
}
|
||||
|
||||
@ -1,9 +1,25 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
|
||||
var RoomModel = require('../schemas/room');
|
||||
|
||||
//creating new room in db
|
||||
router.post('/add', function (req, res) {
|
||||
|
||||
//setting values from request to object
|
||||
let newRoom = new RoomModel({
|
||||
id: req.body.id,
|
||||
createDate: req.body.createDate,
|
||||
started: req.body.started,
|
||||
players: req.body.players,
|
||||
positions: req.body.positions
|
||||
});
|
||||
|
||||
//saving room in db
|
||||
newRoom.save()
|
||||
.then(() => res.status(200).json('Added new room'))
|
||||
.catch(err => res.status(400).json('Error: ' + err));
|
||||
|
||||
});
|
||||
|
||||
//deleting room after game ends
|
||||
|
||||
@ -10,4 +10,6 @@ var RoomSchema = new Schema({
|
||||
positions: Map
|
||||
});
|
||||
|
||||
var RoomModel = mongoose.model('RoomModel', RoomSchema );
|
||||
var RoomModel = mongoose.model('RoomModel', RoomSchema );
|
||||
|
||||
module.exports = RoomModel;
|
||||
@ -1,5 +1,7 @@
|
||||
const express = require("express");
|
||||
const cors = require('cors');
|
||||
const app = express();
|
||||
app.use(cors());
|
||||
const PORT = 3000|| process.env.PORT;
|
||||
|
||||
//DATABASE CONFIG
|
||||
|
||||
17
package-lock.json
generated
17
package-lock.json
generated
@ -10,6 +10,7 @@
|
||||
"@testing-library/jest-dom": "^5.11.9",
|
||||
"@testing-library/react": "^11.2.5",
|
||||
"@testing-library/user-event": "^12.8.3",
|
||||
"axios": "^0.21.1",
|
||||
"react": "^17.0.1",
|
||||
"react-dom": "^17.0.1",
|
||||
"react-scripts": "4.0.3",
|
||||
@ -3914,6 +3915,14 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/axios": {
|
||||
"version": "0.21.1",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
|
||||
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
|
||||
"dependencies": {
|
||||
"follow-redirects": "^1.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/axobject-query": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
|
||||
@ -24320,6 +24329,14 @@
|
||||
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.3.tgz",
|
||||
"integrity": "sha512-vwPpH4Aj4122EW38mxO/fxhGKtwWTMLDIJfZ1He0Edbtjcfna/R3YB67yVhezUMzqc3Jr3+Ii50KRntlENL4xQ=="
|
||||
},
|
||||
"axios": {
|
||||
"version": "0.21.1",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
|
||||
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
|
||||
"requires": {
|
||||
"follow-redirects": "^1.10.0"
|
||||
}
|
||||
},
|
||||
"axobject-query": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
"@testing-library/jest-dom": "^5.11.9",
|
||||
"@testing-library/react": "^11.2.5",
|
||||
"@testing-library/user-event": "^12.8.3",
|
||||
"axios": "^0.21.1",
|
||||
"react": "^17.0.1",
|
||||
"react-dom": "^17.0.1",
|
||||
"react-scripts": "4.0.3",
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
import './App.css';
|
||||
import NameInput from './components/NameInput';
|
||||
|
||||
function App() {
|
||||
return (
|
||||
<div>
|
||||
<NameInput></NameInput>
|
||||
<NameInput />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@ -1,23 +1,14 @@
|
||||
import React, { useState } from 'react';
|
||||
const NameInput = ()=>{
|
||||
import axios from 'axios';
|
||||
|
||||
const NameInput = () => {
|
||||
const [inputValue, setInputValue] = useState('');
|
||||
const handleInputChange = (e) => {
|
||||
setInputValue(e.target.value);
|
||||
}
|
||||
|
||||
const handleButtonClick = () => {
|
||||
const request = {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ name: inputValue })
|
||||
};
|
||||
fetch('localhost:3000/room/add', request)
|
||||
.then(response => {
|
||||
if(response.status == 200){
|
||||
//redirect
|
||||
}else{
|
||||
//error
|
||||
}
|
||||
});
|
||||
axios.post('http://localhost:3000/room/add')
|
||||
}
|
||||
return(
|
||||
<div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user