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
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY . /app
|
||||
|
||||
CMD ["npm", "run", "start"]
|
||||
CMD npm start
|
|
@ -1,7 +1,7 @@
|
|||
const express = require('express');
|
||||
const jwt = require('jsonwebtoken');
|
||||
|
||||
const {getUnverifiedUsers} = require("../../../libs/mysql.js")
|
||||
const { getConnection, getUnverifiedUsers } = require("../../../libs/mysql.js")
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -26,7 +26,9 @@ router.post('/', async (req, res) => {
|
|||
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);
|
||||
});
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const express = require('express');
|
||||
const jwt = require('jsonwebtoken');
|
||||
|
||||
const {setVerified, getUser} = require("../../../libs/mysql.js")
|
||||
const { getConnection, setVerified, getUser } = require("../../../libs/mysql.js")
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -26,7 +26,9 @@ router.post('/', async (req, res) => {
|
|||
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]) {
|
||||
return res.status(400).send({error: "invalid userid"});
|
||||
|
@ -37,6 +39,7 @@ router.post('/', async (req, res) => {
|
|||
}
|
||||
|
||||
await setVerified(username);
|
||||
connection.end()
|
||||
res.status(200).send({message: "user verified"});
|
||||
});
|
||||
|
||||
|
|
|
@ -2,14 +2,16 @@ const express = require('express');
|
|||
const jwt = require('jsonwebtoken');
|
||||
const sha256 = require("sha256");
|
||||
|
||||
const { getUser } = require("../../../libs/mysql");
|
||||
const { getConnection, getUser } = require("../../../libs/mysql");
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
router.post('/', async (req, res) => {
|
||||
const {username, password} = req.body;
|
||||
|
||||
const user = await getUser(username);
|
||||
const connection = await getConnection();
|
||||
|
||||
const user = await getUser(connection, username);
|
||||
|
||||
if (!user[0]) {
|
||||
return res.status(400).send({error: "wrong login informations"});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const express = require('express');
|
||||
const sha256 = require("sha256");
|
||||
|
||||
const { getUser, addUser } = require("../../../libs/mysql");
|
||||
const { getConnection, getUser, addUser } = require("../../../libs/mysql");
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -12,13 +12,16 @@ router.post('/', async (req, res) => {
|
|||
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]) {
|
||||
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"});
|
||||
});
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const express = require('express');
|
||||
const jwt = require('jsonwebtoken');
|
||||
|
||||
const {addHelper, getGame} = require("../../../libs/mysql.js")
|
||||
const { getConnection, addHelper, getGame } = require("../../../libs/mysql.js")
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -22,8 +22,10 @@ router.post('/', async (req, res) => {
|
|||
if (user.expiration < Date.now()) {
|
||||
return res.status(400).send({error: "token expired"});
|
||||
}
|
||||
|
||||
const connection = getConnection();
|
||||
|
||||
const game = await getGame(gameid);
|
||||
const game = await getGame(connection, gameid);
|
||||
|
||||
if (!game[0]) {
|
||||
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"});
|
||||
}
|
||||
|
||||
await addHelper(user.user.username, gameid);
|
||||
await addHelper(connection, user.user.username, gameid);
|
||||
connection.end();
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
return res.status(400).send({error: "invalid token"});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const express = require('express');
|
||||
const jwt = require('jsonwebtoken');
|
||||
|
||||
const {getGame} = require("../../../libs/mysql.js")
|
||||
const { getConnection, getGame } = require("../../../libs/mysql.js")
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -26,7 +26,9 @@ router.post('/', async (req, res) => {
|
|||
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]) {
|
||||
return res.status(400).send({error: "this game doesn't exist in the data base"})
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const express = require('express');
|
||||
const jwt = require('jsonwebtoken');
|
||||
|
||||
const {getHelpers} = require("../../../libs/mysql.js")
|
||||
const { getConnection, getHelpers } = require("../../../libs/mysql.js")
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -26,7 +26,9 @@ router.post('/', async (req, res) => {
|
|||
return res.status(400).send({error: "invalid token"});
|
||||
}
|
||||
|
||||
const connection = getConnection();
|
||||
const helpers = await getHelpers(gameid)
|
||||
connection.end();
|
||||
|
||||
if (!helpers[0]) {
|
||||
return res.status(400).send({error: "this game doesn't exist in the data base"})
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const express = require('express');
|
||||
const jwt = require('jsonwebtoken');
|
||||
|
||||
const {getGames} = require("../../../libs/mysql.js")
|
||||
const { getConnection, getGames } = require("../../../libs/mysql.js")
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -22,7 +22,9 @@ router.post('/', async (req, res) => {
|
|||
return res.status(400).send({error: "invalid token"});
|
||||
}
|
||||
|
||||
const connection = getConnection();
|
||||
const games = await getGames();
|
||||
connection.end();
|
||||
res.status(200).send(games);
|
||||
});
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
const express = require('express');
|
||||
const jwt = require('jsonwebtoken');
|
||||
|
||||
const {removeHelper, getGame} = require("../../../libs/mysql.js")
|
||||
const { getConnection, removeHelper, getGame } = require("../../../libs/mysql.js")
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -23,6 +23,7 @@ router.post('/', async (req, res) => {
|
|||
return res.status(400).send({error: "token expired"});
|
||||
}
|
||||
|
||||
const connection = getConnection();
|
||||
const game = await getGame(gameid);
|
||||
|
||||
if (!game[0]) {
|
||||
|
@ -34,6 +35,7 @@ router.post('/', async (req, res) => {
|
|||
}
|
||||
|
||||
await removeHelper(user.user.username, gameid);
|
||||
connection.end()
|
||||
} catch {
|
||||
return res.status(400).send({error: "invalid token"});
|
||||
}
|
||||
|
|
|
@ -1,19 +1,21 @@
|
|||
const mysql = require("mysql");
|
||||
|
||||
const con = mysql.createConnection({
|
||||
host: process.env.MysqlHost,
|
||||
user: process.env.MysqlUser,
|
||||
password: process.env.MysqlPassword,
|
||||
database: process.env.MysqlDb,
|
||||
});
|
||||
export function getConnection() {
|
||||
return mysql.createConnection({
|
||||
host: process.env.MysqlHost,
|
||||
user: process.env.MysqlUser,
|
||||
password: process.env.MysqlPassword,
|
||||
database: process.env.MysqlDb,
|
||||
});
|
||||
}
|
||||
|
||||
// +-----------------------------------+
|
||||
// | GAMES |
|
||||
// +-----------------------------------+
|
||||
|
||||
function getGames() {
|
||||
export function getGames(connection) {
|
||||
return new Promise((resolve, reject) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`SELECT id, title, subtitle, type, players, duration, ages FROM games`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
|
@ -25,9 +27,9 @@ function getGames() {
|
|||
});
|
||||
}
|
||||
|
||||
function getGame(gameid) {
|
||||
export function getGame(connection, gameid) {
|
||||
return new Promise((resolve, reject) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`SELECT * FROM games WHERE id = "${gameid}"`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
|
@ -39,9 +41,9 @@ function getGame(gameid) {
|
|||
})
|
||||
}
|
||||
|
||||
function addHelper(username, gameid) {
|
||||
export function addHelper(connection, username, gameid) {
|
||||
return new Promise((resolve, reject) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`UPDATE games SET helpers = JSON_ARRAY_APPEND(helpers, '$', "${username}") WHERE id = ${gameid}`,
|
||||
(error, result) => {
|
||||
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) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`UPDATE games SET helpers = JSON_REMOVE(helpers, JSON_UNQUOTE(JSON_SEARCH(helpers, 'one', "${username}"))) WHERE id = ${gameid}`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
|
@ -67,9 +69,9 @@ function removeHelper(username, gameid) {
|
|||
});
|
||||
}
|
||||
|
||||
function getHelpers(gameid) {
|
||||
export function getHelpers(connection, gameid) {
|
||||
return new Promise((resolve, reject) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`SELECT helpers FROM games WHERE id = "${gameid}"`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
|
@ -85,9 +87,9 @@ function getHelpers(gameid) {
|
|||
// | AUTH |
|
||||
// +-----------------------------------+
|
||||
|
||||
function getUser(username) {
|
||||
export function getUser(connection, username) {
|
||||
return new Promise((resolve, reject) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`SELECT * FROM users WHERE username = "${username}"`,
|
||||
(error, result) => {
|
||||
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) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`INSERT INTO users(username, name, lastname, password) VALUES("${username}", "${name}", "${lastname}", "${password}")`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
|
@ -115,9 +117,9 @@ function addUser(username, name, lastname, password) {
|
|||
// | ADMIN |
|
||||
// +-----------------------------------+
|
||||
|
||||
function getUnverifiedUsers() {
|
||||
export function getUnverifiedUsers(connection) {
|
||||
return new Promise((resolve, reject) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`SELECT * FROM users WHERE verified = 0`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
|
@ -128,9 +130,9 @@ function getUnverifiedUsers() {
|
|||
})
|
||||
}
|
||||
|
||||
function setVerified(username) {
|
||||
export function setVerified(connection, username) {
|
||||
return new Promise((resolve, reject) => {
|
||||
con.query(
|
||||
connection.query(
|
||||
`UPDATE users SET verified = 1 WHERE username = "${username}"`,
|
||||
(error, result) => {
|
||||
if (error) {
|
||||
|
@ -139,18 +141,4 @@ function setVerified(username) {
|
|||
resolve(result);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getGames,
|
||||
getGame,
|
||||
addHelper,
|
||||
removeHelper,
|
||||
getHelpers,
|
||||
|
||||
getUser,
|
||||
addUser,
|
||||
|
||||
getUnverifiedUsers,
|
||||
setVerified,
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue