Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const utils = require('../../components/utils');
- const User = require('../../models/User');
- const UserCompleto = require('../../models/UserCompleto');
- const Animal = require('../../models/Animal');
- const Treinador = require('../../models/Treinador');
- function list(req, res){
- console.log("dentro de utilizadores list")
- let query = {name : {$ne: 'anonymous'}};
- console.log("query: ", query);
- console.log("query.role: ", query.role);
- if(req.query.role){
- query.role = req.query.role;
- }
- User.find(query)
- .then(
- users => res.status(200).json(users))
- .catch(utils.handleError(req, res));
- }
- //lista todos os vets e treinadores que fizeram pre registo e aguardam validação
- const listUsersPreRegisto = async(req,res,next) => {
- try{
- console.log("dentro de listUsersPreRegisto")
- //console.log("REQ: ", req.user);
- const user = req.user;
- //valida se e admin
- if(user.role==='admin'){
- const users = await User.find({});
- var newUsers = new Array();
- for(var i=0;i<users.length; i++){
- //verifica se user é vet ou treinador e se tem estado ativo a false
- if(users[i].role==="treinador" || users[i].role==="veterinario" & users[i].ativo===false){
- if(users[i].role==="treinador"){
- const treinadores = await Treinador.find({});
- for(j=0;j<treinadores.length;j++){
- //console.log("treinadores[j]: ", treinadores[j].user);
- //console.log("users[i]: ", users[i]._id);
- if(treinadores[j].user.toString()===users[i]._id.toString()){
- /*
- var newUser = new UserCompleto();
- newUser.userid = user.id;
- newUser.name = user.name;
- newUser.email = user.email;
- newUser.role = user.role;
- newUser.ativo = user.ativo;
- newUser.credencial = "111";
- */
- users[i].credencial = "111";
- console.log("user com cred: " , users[i]);
- }
- }
- }
- }
- }
- }else{
- return res.status(403).json({ error: "Utilizador inválido" });
- }
- }catch(err){
- next(err);
- }
- };
- const changeUser = async(req,res,next) => {
- try{
- var userChanged = false;
- //obter o userid nos parametros
- const { userId } = req.params;
- console.log("User Id: ", userId);
- //obter o user atraves do userid
- const user = await User.findById(userId);
- //alterar o nome do user
- if(req.body.name){
- user.name = req.body.name;
- userChanged = true;
- console.log("req.body.nome: ", req.body.name);
- }
- //alterar o email do user
- if(req.body.email){
- if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(req.body.email))
- {
- user.email = req.body.email;
- userChanged = true;
- console.log("req.body.email: ", req.body.email);
- }else{
- return res.status(403).json({ error: "O email introduzido não é válido" });
- }
- }
- //gravar user
- if(userChanged){
- const result = await user.save();
- console.log("Grava o user");
- res.status(200).json(result)
- }
- res.status(200).json({result: "Nao houveram alterações"});
- }catch(err){
- next(err);
- }
- };
- const changeUserPassword = async(req,res,next) => {
- try{
- const { userId } = req.params;
- //console.log("changePassword userId: ", userId);
- //obter password do body
- const password = req.body.password;
- //console.log("password: ", password);
- //obter o user na bd
- const user = await User.findById(userId);
- //console.log("changePassword user: ", user);
- user.password = password;
- //console.log("User depois da pass: ", user);
- const result = await user.save();
- res.status(200).json(result);
- }catch(err){
- next(err);
- }
- };
- const listId = async(req,res,next) => {
- try{
- console.log("dentro de utilizadores listId")
- const { userId } = req.params;
- console.log("userId: ", userId);
- const user = await User.findById(userId);
- res.status(200).json(user);
- }catch(err){
- next(err);
- }
- };
- module.exports = {
- list : list,
- changeUser,
- changeUserPassword,
- listId,
- listUsersPreRegisto
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement