Advertisement
Tec4Gen

Untitled

May 15th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. let express = require("express");
  2. let app = express();
  3. let bodyParser = require("body-parser");
  4. let urlencodedParser = bodyParser.urlencoded({ extended: false });
  5. let passwordHash = require('password-hash');
  6.  
  7. app.set('view engine', 'ejs');
  8.  
  9. app.get('/', (req,res) => {
  10. res.writeHead(302, {
  11. 'Location': '/login'
  12. });
  13. res.end();
  14. });
  15.  
  16. app.get('/login', (req,res) => {
  17. res.sendFile(__dirname + '/login.html');
  18. });
  19.  
  20. app.post('/login', urlencodedParser, function (req, res) {
  21. let data = req.body;
  22. if (!data) return res.sendStatus(400);
  23. if (data.type == null || data.type == undefined) return res.sendStatus(400);
  24. switch (data.type) {
  25. case 'login':
  26.  
  27. break;
  28. case 'register':
  29. if (data.email == null || data.password == null || data.name == null) {
  30. return res.sendStatus(400);
  31. }
  32. else
  33. { if(main(data) === data.email) {
  34. console.log('Такой маил есть');
  35. }else{
  36. let hPassword = passwordHash.generate(data.password);
  37. data.hPassword = hPassword;
  38. main_insert(data);
  39. }
  40. }
  41. break;
  42.  
  43. default: return res.sendStatus(400);
  44.  
  45. }
  46.  
  47.  
  48.  
  49. res.send('welcome, ' + data.email);
  50. console.log(req.body);
  51. });
  52.  
  53. app.listen(3000);
  54. let mysql= require('mysql');
  55. var connection = mysql.createConnection({
  56. host : "a0300059.xsph.ru",
  57. user : "a0300059_WTbot",
  58. password : "UxCH3vpu",
  59. database : "a0300059_WTbot",
  60. });
  61.  
  62. async function main(data,callback){
  63. let res = await dbQuery('SELECT * FROM `WTBotClients` WHERE `email`= ?',data.email,function (err,rows) {
  64. if(err){
  65. callback(err,null);
  66. }else {
  67. callback(null,rows[0].email)
  68. }
  69. }
  70.  
  71.  
  72. );
  73. console.log(res);
  74. return res;
  75. }
  76.  
  77. async function main_insert(data){
  78. let res = await dbQuery('INSERT INTO `WTBotClients`(`name`, `menu`,`email`,`hPassword`) VALUES (?,?,?,?)', [data.name,data.password,data.email,data.hPassword]);
  79. console.log(res);
  80. }
  81.  
  82.  
  83.  
  84. async function dbQuery(...args) {
  85. return new Promise((resolve, reject) => {
  86. connection.query(args[0], args[1], (err, res) => {
  87. if (err) return reject(new Error(err));
  88. return resolve(res)
  89. }, args[3]);
  90. })
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement