code structure improvement
This commit is contained in:
parent
3a5ae2dd7d
commit
5e8ada02f3
12 changed files with 68 additions and 60 deletions
2
.dockerignore
Normal file
2
.dockerignore
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/node_modules
|
||||||
|
package-lock.json
|
|
@ -1,7 +1,4 @@
|
||||||
FROM node:latest
|
FROM node:latest
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY . /app
|
COPY . /app
|
||||||
|
CMD npm start
|
||||||
CMD ["npm", "run", "start"]
|
|
|
@ -1,7 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
const {getUnverifiedUsers} = require("../../../libs/mysql.js")
|
const { getConnection, getUnverifiedUsers } = require("../../../libs/mysql.js")
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -26,7 +26,9 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "invalid token"});
|
return res.status(400).send({error: "invalid token"});
|
||||||
}
|
}
|
||||||
|
|
||||||
const users = await getUnverifiedUsers();
|
const connection = await getConnection();
|
||||||
|
const users = await getUnverifiedUsers(connection);
|
||||||
|
connection.end();
|
||||||
res.status(200).send(users);
|
res.status(200).send(users);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
const {setVerified, getUser} = require("../../../libs/mysql.js")
|
const { getConnection, setVerified, getUser } = require("../../../libs/mysql.js")
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -26,7 +26,9 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "invalid token"});
|
return res.status(400).send({error: "invalid token"});
|
||||||
}
|
}
|
||||||
|
|
||||||
const user = await getUser(username);
|
const connection = await getConnection();
|
||||||
|
|
||||||
|
const user = await getUser(connection, username);
|
||||||
|
|
||||||
if (!user[0]) {
|
if (!user[0]) {
|
||||||
return res.status(400).send({error: "invalid userid"});
|
return res.status(400).send({error: "invalid userid"});
|
||||||
|
@ -37,6 +39,7 @@ router.post('/', async (req, res) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
await setVerified(username);
|
await setVerified(username);
|
||||||
|
connection.end()
|
||||||
res.status(200).send({message: "user verified"});
|
res.status(200).send({message: "user verified"});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,16 @@ const express = require('express');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
const sha256 = require("sha256");
|
const sha256 = require("sha256");
|
||||||
|
|
||||||
const { getUser } = require("../../../libs/mysql");
|
const { getConnection, getUser } = require("../../../libs/mysql");
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
router.post('/', async (req, res) => {
|
router.post('/', async (req, res) => {
|
||||||
const {username, password} = req.body;
|
const {username, password} = req.body;
|
||||||
|
|
||||||
const user = await getUser(username);
|
const connection = await getConnection();
|
||||||
|
|
||||||
|
const user = await getUser(connection, username);
|
||||||
|
|
||||||
if (!user[0]) {
|
if (!user[0]) {
|
||||||
return res.status(400).send({error: "wrong login informations"});
|
return res.status(400).send({error: "wrong login informations"});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const sha256 = require("sha256");
|
const sha256 = require("sha256");
|
||||||
|
|
||||||
const { getUser, addUser } = require("../../../libs/mysql");
|
const { getConnection, getUser, addUser } = require("../../../libs/mysql");
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -12,13 +12,16 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "invalid request"});
|
return res.status(400).send({error: "invalid request"});
|
||||||
}
|
}
|
||||||
|
|
||||||
const user = await getUser(username);
|
const connection = await getConnection();
|
||||||
|
|
||||||
|
const user = await getUser(connection, username);
|
||||||
|
|
||||||
if (user[0]) {
|
if (user[0]) {
|
||||||
return res.status(400).send({error: "user already exist"});
|
return res.status(400).send({error: "user already exist"});
|
||||||
}
|
}
|
||||||
|
|
||||||
await addUser(username, name, lastname, sha256(password));
|
await addUser(connection, username, name, lastname, sha256(password));
|
||||||
|
connection.end();
|
||||||
res.status(200).send({message: "success"});
|
res.status(200).send({message: "success"});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
const {addHelper, getGame} = require("../../../libs/mysql.js")
|
const { getConnection, addHelper, getGame } = require("../../../libs/mysql.js")
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -23,7 +23,9 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "token expired"});
|
return res.status(400).send({error: "token expired"});
|
||||||
}
|
}
|
||||||
|
|
||||||
const game = await getGame(gameid);
|
const connection = getConnection();
|
||||||
|
|
||||||
|
const game = await getGame(connection, gameid);
|
||||||
|
|
||||||
if (!game[0]) {
|
if (!game[0]) {
|
||||||
return res.status(400).send({error: "this game doesn't exist"});
|
return res.status(400).send({error: "this game doesn't exist"});
|
||||||
|
@ -33,7 +35,8 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "you are already an helper for this game"});
|
return res.status(400).send({error: "you are already an helper for this game"});
|
||||||
}
|
}
|
||||||
|
|
||||||
await addHelper(user.user.username, gameid);
|
await addHelper(connection, user.user.username, gameid);
|
||||||
|
connection.end();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
return res.status(400).send({error: "invalid token"});
|
return res.status(400).send({error: "invalid token"});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
const {getGame} = require("../../../libs/mysql.js")
|
const { getConnection, getGame } = require("../../../libs/mysql.js")
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -26,7 +26,9 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "invalid token"});
|
return res.status(400).send({error: "invalid token"});
|
||||||
}
|
}
|
||||||
|
|
||||||
const game = await getGame(gameid)
|
const connection = getConnection();
|
||||||
|
const game = await getGame(connection, gameid)
|
||||||
|
connection.end();
|
||||||
|
|
||||||
if (!game[0]) {
|
if (!game[0]) {
|
||||||
return res.status(400).send({error: "this game doesn't exist in the data base"})
|
return res.status(400).send({error: "this game doesn't exist in the data base"})
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
const {getHelpers} = require("../../../libs/mysql.js")
|
const { getConnection, getHelpers } = require("../../../libs/mysql.js")
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -26,7 +26,9 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "invalid token"});
|
return res.status(400).send({error: "invalid token"});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const connection = getConnection();
|
||||||
const helpers = await getHelpers(gameid)
|
const helpers = await getHelpers(gameid)
|
||||||
|
connection.end();
|
||||||
|
|
||||||
if (!helpers[0]) {
|
if (!helpers[0]) {
|
||||||
return res.status(400).send({error: "this game doesn't exist in the data base"})
|
return res.status(400).send({error: "this game doesn't exist in the data base"})
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
const {getGames} = require("../../../libs/mysql.js")
|
const { getConnection, getGames } = require("../../../libs/mysql.js")
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -22,7 +22,9 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "invalid token"});
|
return res.status(400).send({error: "invalid token"});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const connection = getConnection();
|
||||||
const games = await getGames();
|
const games = await getGames();
|
||||||
|
connection.end();
|
||||||
res.status(200).send(games);
|
res.status(200).send(games);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
|
||||||
const {removeHelper, getGame} = require("../../../libs/mysql.js")
|
const { getConnection, removeHelper, getGame } = require("../../../libs/mysql.js")
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ router.post('/', async (req, res) => {
|
||||||
return res.status(400).send({error: "token expired"});
|
return res.status(400).send({error: "token expired"});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const connection = getConnection();
|
||||||
const game = await getGame(gameid);
|
const game = await getGame(gameid);
|
||||||
|
|
||||||
if (!game[0]) {
|
if (!game[0]) {
|
||||||
|
@ -34,6 +35,7 @@ router.post('/', async (req, res) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
await removeHelper(user.user.username, gameid);
|
await removeHelper(user.user.username, gameid);
|
||||||
|
connection.end()
|
||||||
} catch {
|
} catch {
|
||||||
return res.status(400).send({error: "invalid token"});
|
return res.status(400).send({error: "invalid token"});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,21 @@
|
||||||
const mysql = require("mysql");
|
const mysql = require("mysql");
|
||||||
|
|
||||||
const con = mysql.createConnection({
|
export function getConnection() {
|
||||||
|
return mysql.createConnection({
|
||||||
host: process.env.MysqlHost,
|
host: process.env.MysqlHost,
|
||||||
user: process.env.MysqlUser,
|
user: process.env.MysqlUser,
|
||||||
password: process.env.MysqlPassword,
|
password: process.env.MysqlPassword,
|
||||||
database: process.env.MysqlDb,
|
database: process.env.MysqlDb,
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// +-----------------------------------+
|
// +-----------------------------------+
|
||||||
// | GAMES |
|
// | GAMES |
|
||||||
// +-----------------------------------+
|
// +-----------------------------------+
|
||||||
|
|
||||||
function getGames() {
|
export function getGames(connection) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`SELECT id, title, subtitle, type, players, duration, ages FROM games`,
|
`SELECT id, title, subtitle, type, players, duration, ages FROM games`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -25,9 +27,9 @@ function getGames() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getGame(gameid) {
|
export function getGame(connection, gameid) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`SELECT * FROM games WHERE id = "${gameid}"`,
|
`SELECT * FROM games WHERE id = "${gameid}"`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -39,9 +41,9 @@ function getGame(gameid) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function addHelper(username, gameid) {
|
export function addHelper(connection, username, gameid) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`UPDATE games SET helpers = JSON_ARRAY_APPEND(helpers, '$', "${username}") WHERE id = ${gameid}`,
|
`UPDATE games SET helpers = JSON_ARRAY_APPEND(helpers, '$', "${username}") WHERE id = ${gameid}`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -53,9 +55,9 @@ function addHelper(username, gameid) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeHelper(username, gameid) {
|
export function removeHelper(connection, username, gameid) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`UPDATE games SET helpers = JSON_REMOVE(helpers, JSON_UNQUOTE(JSON_SEARCH(helpers, 'one', "${username}"))) WHERE id = ${gameid}`,
|
`UPDATE games SET helpers = JSON_REMOVE(helpers, JSON_UNQUOTE(JSON_SEARCH(helpers, 'one', "${username}"))) WHERE id = ${gameid}`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -67,9 +69,9 @@ function removeHelper(username, gameid) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getHelpers(gameid) {
|
export function getHelpers(connection, gameid) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`SELECT helpers FROM games WHERE id = "${gameid}"`,
|
`SELECT helpers FROM games WHERE id = "${gameid}"`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -85,9 +87,9 @@ function getHelpers(gameid) {
|
||||||
// | AUTH |
|
// | AUTH |
|
||||||
// +-----------------------------------+
|
// +-----------------------------------+
|
||||||
|
|
||||||
function getUser(username) {
|
export function getUser(connection, username) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`SELECT * FROM users WHERE username = "${username}"`,
|
`SELECT * FROM users WHERE username = "${username}"`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -98,9 +100,9 @@ function getUser(username) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function addUser(username, name, lastname, password) {
|
export function addUser(connection, username, name, lastname, password) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`INSERT INTO users(username, name, lastname, password) VALUES("${username}", "${name}", "${lastname}", "${password}")`,
|
`INSERT INTO users(username, name, lastname, password) VALUES("${username}", "${name}", "${lastname}", "${password}")`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -115,9 +117,9 @@ function addUser(username, name, lastname, password) {
|
||||||
// | ADMIN |
|
// | ADMIN |
|
||||||
// +-----------------------------------+
|
// +-----------------------------------+
|
||||||
|
|
||||||
function getUnverifiedUsers() {
|
export function getUnverifiedUsers(connection) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`SELECT * FROM users WHERE verified = 0`,
|
`SELECT * FROM users WHERE verified = 0`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -128,9 +130,9 @@ function getUnverifiedUsers() {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function setVerified(username) {
|
export function setVerified(connection, username) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
con.query(
|
connection.query(
|
||||||
`UPDATE users SET verified = 1 WHERE username = "${username}"`,
|
`UPDATE users SET verified = 1 WHERE username = "${username}"`,
|
||||||
(error, result) => {
|
(error, result) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
@ -140,17 +142,3 @@ function setVerified(username) {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
getGames,
|
|
||||||
getGame,
|
|
||||||
addHelper,
|
|
||||||
removeHelper,
|
|
||||||
getHelpers,
|
|
||||||
|
|
||||||
getUser,
|
|
||||||
addUser,
|
|
||||||
|
|
||||||
getUnverifiedUsers,
|
|
||||||
setVerified,
|
|
||||||
};
|
|
Loading…
Add table
Add a link
Reference in a new issue