Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. const express = require('express')
  2. const app = express()
  3. var sqlite3 = require('sqlite3').verbose()
  4. var is_connected = false;
  5. let db = new sqlite3.Database('./db/myDB.db', (err) => {
  6. if (err) {
  7. return console.error(err.message);
  8. }
  9. console.log('Connected to the in-memory SQlite database.');
  10. });
  11.  
  12. var bodyParser = require('body-parser');
  13. app.use(bodyParser.urlencoded({ extended: true }));
  14.  
  15. /*app.get('/', function (req, res) {
  16. console.log(req.params)
  17.  
  18. res.send('Hello World!')
  19. })*/
  20.  
  21. //register::
  22. app.post('/register', function (req, res) {
  23.  
  24. var user_data = [req.body.username,req.body.password, req.body.ip_address, true]
  25. console.log(user_data);
  26. console.log(req.body);
  27.  
  28. insert_user(user_data);
  29. var auth = check_credentials_login(user_data);
  30.  
  31. //ip = return_ip(user_data)
  32. //TODO: check if the user exist, if so, send to the client
  33. res.send('Got a POST request');
  34. })
  35.  
  36.  
  37. //login::
  38. app.post('/login', function (req, res) {
  39. console.log(req.body.username);
  40. var user_data = [req.body.username,req.body.password, req.body.ip_address];
  41. //TODO: make a check_credentials function
  42. var auth = check_credentials_login(user_data);
  43.  
  44. if(auth != 0){
  45. console.log("authentication error " + auth);
  46. res.send("authentication error: " + auth);
  47. is_connected = false;
  48. }else{
  49. is_connected = true;
  50. }
  51.  
  52. res.send('Got a POST request');
  53. })
  54.  
  55. //connecting to partner
  56. app.post('/connect', function(req, res){
  57. console.log("got connect POST request");
  58. var user_data = [req.body.username,req.body.password];
  59. //get the ip adress from the username
  60. db.each('SELECT ip_address FROM users WHERE username=? AND password=? ',[user_data[0],user_data[1]], (err, row)=>{
  61. if(err){
  62. throw err;
  63. }
  64. console.log(row.ip_address);
  65.  
  66. //TODO: send the ip_address to the client
  67. //ip = return_ip(user_data)
  68.  
  69.  
  70. if(user_active(user_data)){
  71. var ip_address = {"ip":get_ip_from_user(user_credentials)};
  72. res.send(JSON.stringfy(ip_address));
  73. }else{
  74. res.send("user is inactive");
  75. }
  76.  
  77. });
  78.  
  79. app.put('/disconnect', function (req, res) {
  80. console.log("disconnectiong");
  81. res.send('disconnected');
  82. })
  83. app.put('/user', function (req, res) {
  84. res.send('Got a PUT request at /user');
  85. })
  86. app.delete('/user', function (req, res) {
  87. res.send('Got a DELETE request at /user');
  88. })
  89. app.listen(3000, () => console.log('listening on port 3000!'));
  90.  
  91. function check_credentials_login(user_data){
  92. //check the user login data
  93. db.get("SELECT * FROM users WHERE username = ? AND password = ?",
  94. [user_data],function (err, rows) {
  95. if (err || rows == undefined ){
  96. console.log("No such user");
  97. //cb("bad email", null)
  98. } else {
  99. //cb(null,rows)
  100. console.log("the username exists, u are allowed to login");
  101. }
  102. });
  103. return 0;
  104. }
  105.  
  106. function check_credentials_register(user_data){
  107. //check the user login data
  108. db.get("SELECT * FROM users WHERE username = ? ",
  109. [user_data[0]],
  110. function (err, rows) {
  111. if (err || rows == undefined ){
  112. console.log("Everything is good");
  113. //cb("bad email", null)
  114. } else {
  115. //cb(null,rows)
  116. console.log("the username exists");
  117. }
  118. });
  119. return 0;
  120. }
  121.  
  122.  
  123.  
  124. function insert_user(user_data){
  125. db.run(`INSERT INTO users(username, password, ip_address, is_active) VALUES(?, ?, ?, ?)`, user_data, function(err) {
  126. if (err) {
  127. return console.log(err.message);
  128. }
  129. console.log("inserted user to db")
  130. // get the last insert id
  131. //console.log(`A row has been inserted with rowid ${this.lastID}`);
  132. });
  133. }
  134. function return_ip(user_data){
  135. db.each('SELECT ip_address FROM users WHERE username=? AND password=? ',[user_data[0],user_data[1]], (err, row)=>{
  136. if(err){
  137. throw err;
  138. }
  139. console.log(row.ip_address);
  140. var ip_send = row.ip_address;
  141. });
  142. return 0;
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement