Advertisement
Guest User

Untitled

a guest
May 13th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var app = express();
  3. var fs = require("fs");
  4. var bodyParser = require('body-parser');
  5.  
  6. // Create application/x-www-form-urlencoded parser
  7. var urlencodedParser = bodyParser.urlencoded({ extended: false })
  8. var authenticatedUser = null;
  9. app.use(express.static('Front End'));
  10. app.use(bodyParser.json());
  11.  
  12. // Email validation funciton
  13. function validateEmail(email)
  14. {
  15.     // using regular expression.
  16.     if (email.length > 0)
  17.     {
  18.       var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  19.       return re.test(email);
  20.   }
  21.   else
  22.     return false;
  23. }
  24.  
  25. // Password validation function
  26. function validatePassword(pass)
  27. {
  28.   if (pass.length < 5)
  29.     return false;
  30.   else
  31.     return true;
  32. }
  33.  
  34. // Username validation function
  35. function validateUsername(name)
  36. {
  37.   if (name.length > 0)
  38.     return /^[a-zA-Z]*$/.test(name);
  39.   else
  40.     return false;
  41. }
  42. // Number of users already registered
  43. var usersCount = 0;
  44. var id = 0;
  45. var storedData;
  46. var userNAME;
  47. var storedData2;
  48.  
  49. /**** This part to handle default request url= localhost:8081 ******/
  50. app.get('/', function (req, res) {
  51.   res.sendFile( __dirname + "/" + "homepage.html" );
  52. })
  53.  
  54. app.get('/homepage.html', function (req, res) {
  55.   res.sendFile( __dirname + "/" + "homepage.html" );
  56. })
  57.  
  58. app.post('/login', urlencodedParser, function (req, res) {
  59.  
  60.   // Get the values of the input text email & password
  61.   email = req.body.email;
  62.   password = req.body.password;
  63.   console.log(email);
  64.   console.log(password);
  65.  
  66.   // Read JSON file containing the users to verify that the user is already registered and have access
  67.   var data = fs.readFileSync( __dirname + "/" + "users.json", 'utf8');
  68.     // Note that err here is for handling any error occuring in opening the file
  69.      
  70.     var data2 = JSON.parse(data);
  71.     var flag = 0;
  72.     usersCount = 0;
  73.         id = 0;
  74.        
  75.     for (var user in data2)
  76.     {
  77.       if(email == data2[user].email)
  78.       {
  79.         flag = 1;
  80.         authenticatedUser = user;
  81.         break;
  82.       }
  83.       else
  84.       {
  85.         flag = 0;
  86.         usersCount++;
  87.           id++;
  88.       }
  89.     }
  90.     if(flag == 1)
  91.     {
  92.       if (password == data2[authenticatedUser].password)
  93.       {
  94.         userNAME = data2[authenticatedUser].name;
  95.         console.log("This is the tasks page");
  96.         res.sendFile( __dirname + "/" + "ProjectPh1V1.html");
  97.         console.log("herewe areee");
  98.         try {
  99.         storedData = fs.readFileSync(__dirname + "/" + id + ".json",  'utf8');              
  100.         storedData2 = JSON.parse(storedData);
  101.         storedData2["name"] = userNAME;
  102.       }catch (ex)
  103.       {
  104.         console.log(ex);
  105.       }
  106.         console.log("ana henaaaaa");
  107.         console.log(storedData2);
  108.                        
  109.                    
  110.  
  111.       }
  112.       else
  113.       {
  114.         res.sendFile( __dirname + "/" + "error.html");
  115.       }
  116.     }
  117.     // Handle invalid login by redirecting the user to the login page once again
  118.     else {
  119.       console.log("User Not found");
  120.       res.sendFile( __dirname + "/" + "error.html");
  121.     }
  122.   })
  123.  
  124.  app.get("/arraydata", function (req, res) {
  125.  
  126.     res.send(storedData2);
  127. });
  128.  
  129. app.post('/array', function(req, res) {
  130.     console.log("harby's herbyes");
  131.     var data = req.body;
  132.     console.log(data);
  133.     arrays = data;
  134.     fs.writeFile(__dirname + "/" + id + ".json", JSON.stringify(data), function (err) {
  135.         if (err) return console.log(err);
  136.         console.log(JSON.stringify(data));
  137.         console.log(id);
  138.     });  
  139.     res.send('success');
  140.     console.log('successsent');
  141. });
  142.  
  143.  app.post('/register', urlencodedParser, function(req, res)
  144.  {
  145.   username = req.body.username;
  146.   email = req.body.email;
  147.   password = req.body.password;
  148.   console.log(username);
  149.   console.log(email);
  150.   console.log(password);
  151.  
  152.   var f = 0
  153.   if (validateUsername(username))
  154.     f++;
  155.   if (validateEmail(email))
  156.     f++;
  157.   if(validatePassword(password))
  158.     f++;
  159.  
  160.   if (f == 3)
  161.   {
  162.     newUser = {
  163.       "password" : password,
  164.       "username" : username,
  165.           "email" : email,
  166.           "id" : id
  167.       }
  168.     var flag = 0;
  169.     // Make sure this is a unique email address
  170.     fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
  171.       if (err)
  172.         return console.error(err);
  173.         data = JSON.parse(data);
  174.         usersCount = 0;
  175.         id = 0;
  176.         flag = 0;
  177.         console.log('Going to check if there are duplicates');
  178.         for (var user in data)
  179.         {
  180.           if(email == data[user].email)
  181.           {
  182.             flag=1;
  183.             break;
  184.           }
  185.           usersCount++;
  186.           id++;
  187.         }
  188.    
  189.       if (flag == 0)
  190.       {
  191.         console.log("ok no duplicates");
  192.         // Add user to the JSON file database and show the homepage again
  193.         fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
  194.           newUser = {
  195.             "password" : password,
  196.             "username" : username,
  197.                 "email" : email,
  198.                 "id" : id
  199.             }
  200.           console.log("read users file!");
  201.           if (err)
  202.             return console.error(err);
  203.              
  204.              data = JSON.parse(data); // Converting it to string.
  205.              data[usersCount] = newUser;
  206.              console.log(data);
  207.              console.log("ahahahahahh");
  208.              res.sendFile( __dirname + "/" + "homepage.html" );
  209.              app.get('/homepage.html', function (req, res) {
  210.               res.sendFile( __dirname + "/" + "homepage.html" );
  211.           })
  212.              fs.writeFile(__dirname + "/" + "users.json",JSON.stringify(data), function (err) {
  213.                    if (err)
  214.                        return console.log(err);
  215.                    console.log(JSON.stringify(data));
  216.            })
  217.         });
  218.       }
  219.       else
  220.       {
  221.         console.log("Yes, duplicates");
  222.         res.sendFile( __dirname + "/" + "error.html");
  223.       }
  224.     })
  225.   }
  226.   else
  227.   {
  228.     res.sendFile( __dirname + "/" + "error.html");
  229.   }
  230.  })
  231.  
  232. app.get('/ProjectPh1V1.html', function(req, res){
  233.   res.sendFile( __dirname + "/" + "ProjectPh1V1.html" );
  234. })
  235.  
  236. var server = app.listen(8081, function () {
  237.   var host = server.address().address
  238.   var port = server.address().port
  239.   console.log("App listening at http://%s:%s", host, port)
  240. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement