hassan228

app.js

Jun 18th, 2018
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //YE SERVER SIDE KA CODE HAI IDK HOW TO TAKE THE DATA I GOT IN getCourses() TO CLIENT SIDE TO DISPLAY
  2. var express = require('express');
  3. var mysql = require('mysql');
  4. var app = express();
  5. var bodyParser = require('body-parser');
  6. var cookieParser = require('cookie-parser');
  7. var session = require('express-session');
  8. var validator = require('express-validator');
  9.  
  10.  
  11. app.use(express.static('public'));
  12. app.use(bodyParser.json());
  13. app.use(bodyParser.urlencoded({ extended: true }));
  14. app.use(validator());
  15. app.use(cookieParser());
  16. app.use(session({
  17.     secret: 'thisismysecretkey',
  18.     saveUninitialized: true,
  19.     resave: true
  20. }));
  21.  
  22.  
  23.  
  24.  
  25. var connection = mysql.createConnection({
  26.     host: 'localhost',
  27.     user: 'root',
  28.     password: '',
  29.     database: 'vle'
  30. });
  31.  
  32.  
  33.  
  34. connection.connect(function (error) {
  35.     if (!!error) {
  36.         console.log('Error');
  37.     }
  38.     else {
  39.         console.log('Connected');
  40.  
  41.     }
  42. });
  43.  
  44.  
  45. //function sessionCheck(req, res, next) {
  46.  
  47. //   if (req.session)
  48. //   {
  49. //        return next;
  50. //   }
  51. //   else {
  52. //       res.redirect('/');
  53. //   } }
  54.  
  55.  
  56. app.get("/", function (req, res) {
  57.     console.log("homepage loaded");
  58.     res.sendFile(__dirname + "/public/page_HomePage.html");
  59.  
  60. });
  61.  
  62. app.get("/signup", function (req, res) {
  63.  
  64.     res.redirect("sign-up.html");
  65.  
  66. });
  67.  
  68. //GET STUDENT COURSES FROM DB TO DISPLAY
  69.  
  70. function getCourses(user, res) {
  71.     //getting user id
  72.     var user_id = "";
  73.     var courses = [];
  74.     connection.query('SELECT id FROM students WHERE username = ?', [user], function (error, feilds) {
  75.         if (!!error) {
  76.             console.log("Error : Finding user in DB");
  77.             console.log(error);
  78.         }
  79.         else {
  80.             if (feilds.length) {
  81.  
  82.                 user_id = feilds[0].id;
  83.                 //finding courses in enrollments
  84.  
  85.                 connection.query('SELECT courses_id FROM enrollments WHERE students_id = ?', [user_id], function (error, feilds) {
  86.                     if (!!error) {
  87.                         console.log("Error : Finding user in DB");
  88.                         console.log(error);
  89.                     }
  90.                     else {
  91.                         if (feilds.length) {
  92.                             //inserting all course_ids to caousre object
  93.                             for (var i = 0; i < feilds.length; i++) {
  94.                                 courses.push(feilds[i].courses_id);
  95.                                 console.log(feilds[i].courses_id);
  96.                                 connection.query('SELECT name,image FROM courses WHERE id = ?', [feilds[i].courses_id], function (error, feilds) {
  97.                                     if (!!error) {
  98.                                         console.log("Error : Finding user in DB");
  99.                                         console.log(error);
  100.                                     }
  101.                                     else
  102.                                     {
  103.                                        
  104.                                     }  
  105.                                 });
  106.                                
  107.                             }
  108.  
  109.  
  110.                         }
  111.                     }
  112.                 });
  113.  
  114.             }
  115.         }
  116.     });
  117.  
  118.  
  119.  
  120.  
  121. }
  122.  
  123.  
  124. app.post('/register', function (req, res) {
  125.     req.check('email', 'Invalid Email Address').isEmail();
  126.     req.check('password', 'Password should be atleast 6 letters long').isLength({ min: 6 });
  127.     req.check('password', 'Passwords dont match').equals(req.body.passwordConfirmation);
  128.     var errors = req.validationErrors();
  129.     if (errors) {
  130.         req.session.errors = errors;
  131.         req, session.success = false;
  132.     }
  133.     else {
  134.         req.session.success = true;
  135.     }
  136.     var user = req.body.userName;
  137.     var first = req.body.firstName;
  138.     var last = req.body.lastName;
  139.     var em = req.body.email;
  140.     var pas = req.body.password;
  141.     var pas1 = req.body.passwordConfirmation;
  142.     var available = false;
  143.  
  144.  
  145.  
  146.     connection.query('SELECT username FROM students WHERE username = ?', [user], function (error, feilds) {
  147.         if (!!error) {
  148.             console.log("Error : Finding user in DB");
  149.             console.log(error);
  150.         }
  151.         else {
  152.             if (feilds.length) {
  153.  
  154.                 console.log('Username not Available');
  155.                 res.redirect('sign-up.html');
  156.             }
  157.             else if (!feilds.length) {
  158.                 connection.query('SELECT username FROM tutors WHERE username = ?', [user], function (error, feilds) {
  159.                     if (!!error) {
  160.                         console.log("Error : Finding user in DB");
  161.                         console.log(error);
  162.                     }
  163.                     else {
  164.                         if (feilds.length) {
  165.  
  166.                             console.log('Username not Available');
  167.                             res.redirect('sign-up.html');
  168.                         }
  169.                     }
  170.                 });
  171.             }
  172.             else {
  173.  
  174.                 if (pas == pas1) {
  175.                     var que = "INSERT INTO students (email,username,password,first_name,last_name) VALUES (?,?,?,?,?)";
  176.                     var check = connection.query(que, [em, user, pas, first, last], function (err, rows) {
  177.                         if (!!err) {
  178.  
  179.                             console.log("Could not insert into DB", err);
  180.                         }
  181.                         else {
  182.                             console.log('Successful INSERTION');
  183.                             res.redirect('/login.html');
  184.                             //console.log("Data inserted:::::", rows.insertId);
  185.                         }
  186.  
  187.  
  188.                     });
  189.                     // console.log('connection----------------------',check);
  190.                 }
  191.                 else {
  192.                     console.log("Password Mismatch!");
  193.                     res.redirect('public/sign-up.html');
  194.                 }
  195.  
  196.  
  197.             }
  198.  
  199.  
  200.         }
  201.     });
  202. });
  203.  
  204. app.get('/logout', function (req, res) {
  205.     req.session.destroy();
  206.     console.log('Session DESTROYED');
  207.     res.redirect("Page_HomePage.html");
  208. });
  209.  
  210.  
  211. app.get('/login', function (req, res) {
  212.     session = req.session;
  213.     if (session.uniqueID) {
  214.         console.log('Session found');
  215.         res.redirect('/website-student-dashboard.html');
  216.     }
  217.     else {
  218.         console.log('Session NOT found');
  219.         res.redirect("login.html");
  220.     }
  221.  
  222. });
  223.  
  224.  
  225. app.post('/login', function (req, res) {
  226.     var user = req.body.username;
  227.     var pas = req.body.password;
  228.     var found = false;
  229.     session = req.session;
  230.     if (user != null && pas != null) {
  231.         if (!found) {
  232.             connection.query('SELECT username,password FROM students WHERE username = ?', [user], function (error, feilds) {
  233.                 if (!!error) {
  234.                     console.log("Error : Finding user in DB for Login");
  235.                 }
  236.                 else {
  237.                     if (feilds.length && (feilds[0].password == pas)) {
  238.                         console.log('User logged in as student');
  239.                         found = true;
  240.                         session.uniqueID = req.body.username;
  241.                         console.log('Session created :', session.uniqueID);
  242.                         res.redirect('/website-student-dashboard.html');
  243.                         //getCourses(user, res);
  244.                     }
  245.  
  246.                 }
  247.             });
  248.         }
  249.         if (!found) {
  250.             connection.query('SELECT username,password FROM tutors WHERE username = ?', [user], function (error, feilds) {
  251.                 if (!!error) {
  252.                     console.log("Error : Finding user in DB for Login");
  253.                 }
  254.                 else {
  255.                     if (feilds.length && (feilds[0].password == pas)) {
  256.                         console.log('User logged in as tutor');
  257.                         found = true;
  258.                         session.uniqueID = req.body.username;
  259.                         console.log('Session created :', session.uniqueID);
  260.                         res.redirect('/website-instructor-dashboard.html');
  261.  
  262.                     }
  263.  
  264.                 }
  265.             });
  266.         }
  267.         else {
  268.             console.log('Invalid username/password');
  269.             res.redirect('login.html');
  270.         }
  271.  
  272.     }
  273.     else {
  274.         console.log('Please enter username and password');
  275.     }
  276.  
  277. });
  278.  
  279.  
  280. app.listen(3000);
Add Comment
Please, Sign In to add comment