added creating rooms in db

This commit is contained in:
Wenszel 2021-03-13 17:53:11 +01:00
parent 99d347a514
commit 12372ef4f2
9 changed files with 81 additions and 17 deletions

View File

@ -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",

View File

@ -1,5 +1,6 @@
{
"dependencies": {
"cors": "^2.8.5",
"express": "^4.17.1",
"mongoose": "^5.12.0"
}

View File

@ -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

View File

@ -11,3 +11,5 @@ var RoomSchema = new Schema({
});
var RoomModel = mongoose.model('RoomModel', RoomSchema );
module.exports = RoomModel;

View File

@ -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
View File

@ -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",

View File

@ -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",

View File

@ -1,10 +1,9 @@
import './App.css';
import NameInput from './components/NameInput';
function App() {
return (
<div>
<NameInput></NameInput>
<NameInput />
</div>
);
}

View File

@ -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>