Advertisement
Guest User

Untitled

a guest
May 31st, 2018
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const utils = require('../../components/utils');
  2. const User = require('../../models/User');
  3. const UserCompleto = require('../../models/UserCompleto');
  4. const Animal = require('../../models/Animal');
  5. const Treinador = require('../../models/Treinador');
  6.  
  7. function list(req, res){
  8.    
  9.     console.log("dentro de utilizadores list")
  10.     let query = {name : {$ne: 'anonymous'}};
  11.  
  12.     console.log("query: ", query);
  13.     console.log("query.role: ", query.role);
  14.  
  15.     if(req.query.role){
  16.         query.role = req.query.role;
  17.     }
  18.     User.find(query)
  19.     .then(
  20.         users => res.status(200).json(users))
  21.     .catch(utils.handleError(req, res));
  22. }
  23.  
  24.  
  25. //lista todos os vets e treinadores que fizeram pre registo e aguardam validação
  26. const listUsersPreRegisto = async(req,res,next) => {
  27.     try{
  28.         console.log("dentro de listUsersPreRegisto")
  29.         //console.log("REQ: ", req.user);
  30.         const user = req.user;
  31.        
  32.         //valida se e admin
  33.         if(user.role==='admin'){
  34.             const users = await User.find({});
  35.            
  36.             var newUsers = new Array();
  37.  
  38.             for(var i=0;i<users.length; i++){
  39.                 //verifica se user é vet ou treinador e se tem estado ativo a false
  40.                 if(users[i].role==="treinador" || users[i].role==="veterinario" & users[i].ativo===false){
  41.                     if(users[i].role==="treinador"){
  42.                         const treinadores = await Treinador.find({});
  43.                         for(j=0;j<treinadores.length;j++){
  44.                             //console.log("treinadores[j]: ", treinadores[j].user);
  45.                             //console.log("users[i]: ", users[i]._id);
  46.                             if(treinadores[j].user.toString()===users[i]._id.toString()){
  47.                                
  48.                                
  49.                                 /*
  50.                                 var newUser = new UserCompleto();                              
  51.                                 newUser.userid = user.id;
  52.                                 newUser.name = user.name;
  53.                                 newUser.email = user.email;
  54.                                 newUser.role = user.role;
  55.                                 newUser.ativo = user.ativo;
  56.                                 newUser.credencial = "111";
  57.                                 */
  58.  
  59.                                 users[i].credencial = "111";
  60.  
  61.  
  62.                                
  63.                                 console.log("user com cred: " , users[i]);
  64.                             }
  65.                         }  
  66.                     }
  67.                 }
  68.             }
  69.  
  70.  
  71.         }else{
  72.             return res.status(403).json({ error: "Utilizador inválido" });
  73.         }
  74.        
  75.  
  76.  
  77.     }catch(err){
  78.         next(err);
  79.     }
  80.  
  81. };
  82.  
  83.  
  84.  
  85.  
  86. const changeUser = async(req,res,next) => {
  87.     try{
  88.         var userChanged = false;
  89.  
  90.         //obter o userid nos parametros
  91.         const { userId } = req.params;
  92.         console.log("User Id: ", userId);
  93.         //obter o user atraves do userid
  94.         const user = await User.findById(userId);
  95.         //alterar o nome do user
  96.         if(req.body.name){
  97.             user.name = req.body.name;
  98.             userChanged = true;
  99.             console.log("req.body.nome: ", req.body.name);
  100.         }
  101.        
  102.         //alterar o email do user
  103.         if(req.body.email){
  104.             if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(req.body.email))
  105.             {
  106.                 user.email = req.body.email;
  107.                 userChanged = true;
  108.                 console.log("req.body.email: ", req.body.email);
  109.             }else{
  110.                 return res.status(403).json({ error: "O email introduzido não é válido" });
  111.             }
  112.         }
  113.  
  114.         //gravar user
  115.         if(userChanged){
  116.             const result = await user.save();
  117.             console.log("Grava o user");
  118.             res.status(200).json(result)
  119.         }
  120.  
  121.         res.status(200).json({result: "Nao houveram alterações"});
  122.  
  123.  
  124.     }catch(err){
  125.         next(err);
  126.     }
  127. };
  128.  
  129.  
  130.  
  131.  
  132. const changeUserPassword = async(req,res,next) => {
  133.     try{
  134.         const { userId } = req.params;
  135.         //console.log("changePassword userId: ", userId);
  136.  
  137.         //obter password do body
  138.         const password = req.body.password;
  139.         //console.log("password: ", password);
  140.  
  141.         //obter o user na bd
  142.         const user = await User.findById(userId);
  143.         //console.log("changePassword user: ", user);
  144.  
  145.         user.password = password;
  146.  
  147.         //console.log("User depois da pass: ", user);
  148.  
  149.         const result = await user.save();
  150.  
  151.         res.status(200).json(result);
  152.  
  153.     }catch(err){
  154.         next(err);
  155.     }
  156. };
  157.  
  158.  
  159.  
  160. const listId = async(req,res,next) => {
  161.     try{
  162.         console.log("dentro de utilizadores listId")
  163.         const { userId } = req.params;
  164.         console.log("userId: ", userId);
  165.         const user = await User.findById(userId);
  166.         res.status(200).json(user);
  167.  
  168.  
  169.     }catch(err){
  170.         next(err);
  171.     }
  172. };
  173.  
  174.  
  175.  
  176.  
  177. module.exports = {
  178.     list : list,
  179.     changeUser,
  180.     changeUserPassword,
  181.     listId,
  182.     listUsersPreRegisto
  183.  
  184. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement