-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
84 lines (67 loc) · 2.13 KB
/
Copy pathapp.js
File metadata and controls
84 lines (67 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import express from "express";
import cors from "cors";
import mysql from "mysql2";
import dbSetting from "./database.js";
// Настроечки
const app = express(),
PORT = 5678 || null,
jsonParser = express.json();
// CORS - штука, чтобы к моему серверу могли обращаться все
app.use(cors());
//MYSQL - настроечки
const pool = mysql.createPool({
host: dbSetting.HOST, // a.k.a localhost
user: dbSetting.USER,
password: dbSetting.PASSWORD,
database: dbSetting.DATABASE
}).promise();
//При POST запросе на /users
app.post("/user", jsonParser, async (req, res)=> {
const reqText = req.body;
if(!reqText) return res.sendStatus(400);
// Объект с данными
const user = {
fullName: reqText.surname + " " + reqText.name,
name: reqText.name,
surname:reqText.surname,
email: reqText.email,
password: reqText.password
}
//Если пользователь существует
if(await isUserExist(user.fullName)) {
res.status(409);
res.json({
response: `Пользователь с именем "${user.fullName}" уже существует`
});
} else {
await addUser(user);
res.status(200);
res.json({
response: `Пользователь "${user.fullName}" зарегистрирован`
})
}
})
//ПОРТ
app.listen(PORT, () => {
console.log(`[server]: Вот URL: http://localhost:${PORT}`);
})
//Операции с БД
async function isUserExist(fullName) {
try {
const res = await pool.query(`SELECT fullName FROM saveme WHERE fullName = '${fullName}'`);
return Boolean(res[0].length);
} catch (error) {
console.log(error);
return false;
}
}
// ↓user - объект
async function addUser(user) {
try {
const res = await pool.query(`INSERT INTO saveme(fullName, name, surname, email, password)
VALUES ('${user.fullName}', '${user.name}', '${user.surname}', '${user.email}','${user.password}');`);
return true;
} catch {
return false;
}
}