Advertisement
Guest User

Untitled

a guest
Nov 9th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const JWT = require('jsonwebtoken');
  2. const User = require('../models/user');
  3. const { JWT_SECRET } = require('../configuration');
  4. const bcrypt = require('bcrypt');
  5.  
  6.  
  7.  
  8. signToken = function(user){
  9.     return JWT.sign({
  10.         iss: 'GReceitas',
  11.         //sub: user.id,
  12.         iat: new Date().getTime(),
  13.         //exp: new Date().setDate(new Date().getTime() + 2*60000)
  14.         //(new Date().getTime() + 1*60000)
  15.         //data de expiracao + 1 dia apos data do sign
  16.         exp: new Date().setDate(new Date().getDate()+1)
  17.     }, JWT_SECRET);
  18. }
  19.  
  20. module.exports = {
  21.     index: async function(req,res,next){
  22.         try{
  23.             const users = await User.find({});
  24.             res.status(200).json(users);
  25.         }catch(err){
  26.             next(err);
  27.         }
  28.     },
  29.     signUp: async function(req,res,next){
  30.         try{
  31.             const nome = req.body["nome"];
  32.             const email = req.body["email"];
  33.             const password = req.body["password"];
  34.             const medico = req.body["medico"];
  35.             const utente = req.body["utente"];
  36.             const farmaceutico = req.body["farmaceutico"];
  37.  
  38.            
  39.             //check is user already exists
  40.             const foundUser = await User.findOne({ email: email});
  41.             if(foundUser){
  42.                 //403 - forbiden
  43.                 return res.status(403).json({ error: "Email already in use"});
  44.             }
  45.            
  46.  
  47.             //create new user
  48.             var newUser = new User();
  49.             newUser.nome = nome;
  50.             console.log("newUser.nome", newUser.nome);
  51.             newUser.email = email;
  52.             newUser.password = password;
  53.             newUser.medico = medico;
  54.             newUser.utente = utente;
  55.             newUser.farmaceutico = farmaceutico;
  56.  
  57.             console.log("newuser: ", newUser);
  58.             await newUser.save();
  59.  
  60.             //generate the token
  61.             //const token = signToken(newUser);
  62.  
  63.             //respond with token
  64.             res.status(200).json(newUser);
  65.            
  66.  
  67.         }catch(err){
  68.             next(err);
  69.         }
  70.     },
  71.  
  72.     signIn: async function(req,res,next){
  73.         try{
  74.             const password = req.body.password;
  75.             console.log("req.body.password",req.body.password);
  76.             console.log("req.body.email",req.body.email);
  77.             users = User.find();
  78.             console.log("users:", users);
  79.  
  80.             /*
  81.             if (!user) {
  82.                 res.json({ success: false, message: 'Authentication failed. User not found.' });
  83.             } else if (user) {
  84.        
  85.                 // check if password matches
  86.                 bcrypt.compare(password, user.password, function(err, res) {
  87.                     //console.log("Successful login!")
  88.                     //generate a token
  89.                     console.log("YESSSSSSS");
  90.                     const token = signToken(req.user);
  91.                     res.status(200).json({token: token});
  92.            
  93.                     // return the information including token as JSON
  94.                     res.json({
  95.                         success: true,
  96.                         message: 'Enjoy your token!',
  97.                         token: token
  98.                     });
  99.                 });
  100.                 bcrypt.compare(password, user.password, function(err, res) {
  101.                     res.json({ success: false, message: 'Authentication failed. Wrong password.' });
  102.                 });  
  103.                
  104.             }
  105.             */
  106.      
  107.                  
  108.         }catch(err){
  109.             next(err);
  110.         }
  111.     },
  112.  
  113.     secret: async function(req,res,next){
  114.         try{
  115.             console.log('I managed to get here!');
  116.             res.json({ secret: "resource" });
  117.         }catch(err){
  118.             next(err);
  119.         }
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement