socketioMEANseed/server/controllers/adminController.js
server/controllers/adminController.jsRaw
1var express = require('express');
2var app = express();
3var jwt = require('jsonwebtoken');
4var config = require('../config/config');
5var crypto = require('crypto');
6
7app.set('superSecret', config.secret);
8
9/*******MODELS*********/
10//var trainerModel = require('../models/trainerModel');
11var userModel = require('../models/userModel');
12var dietModel = require('../models/dietModel');
13var routineModel = require('../models/routineModel');
14
15/** GET '/admin/users/' **/
16exports.getUsers = function (req, res) {
17 userModel.find()
18 .limit(Number(req.query.pageSize))
19 .skip(Number(req.query.pageSize) * Number(req.query.page))
20 .exec(function (err, users) {
21 if (err) return res.send(500, err.message);
22 res.status(200).jsonp(users);
23 });
24};
25/** GET '/admin/users/:userid' **/
26exports.getUserById = function (req, res) {
27 userModel.findOne({_id: req.params.userid})
28 .lean()
29 .populate('followers', 'name avatar')
30 .populate('following', 'name avatar')
31 .exec(function (err, user) {
32 if (err) return res.send(500, err.message);
33 if (!user) {
34 res.json({success: false, message: 'User not found.'});
35 } else if (user) {
36 var nodes=[];
37 var edges=[];
38 var node={
39 title: user.name,
40 label: user.name,
41 image: user.avatar,
42 shape: "image",
43 id: user._id
44 };
45 nodes.push(node);
46 for(var i=0; i<user.followers.length; i++)
47 {
48 var node={
49 title: user.followers[i].name,
50 label: user.followers[i].name,
51 image: user.followers[i].avatar,
52 shape: "image",
53 id: user.followers[i]._id
54 };
55 nodes.push(node);
56 var edge={
57 from: user._id,
58 to: user.followers[i]._id,
59 arrows: {
60 from: user._id
61 },
62 color: {
63 color: "#36bc9b"
64 }
65 };
66 edges.push(edge);
67 }
68
69 for(var i=0; i<user.following.length; i++)
70 {
71 var indexJ=-1
72 for(var j=0; j<nodes.length; j++)
73 {
74 if(nodes[j].id.equals(user.following[i]._id))
75 {
76 indexJ=JSON.parse(JSON.stringify(j));
77 }
78 }
79 if(indexJ==-1)
80 {//el node no estava als followers, afegim el node
81 var node={
82 title: user.following[i].name,
83 label: user.following[i].name,
84 image: user.following[i].avatar,
85 shape: "image",
86 id: user.following[i]._id
87 };
88 nodes.push(node);
89 }
90 var edge={
91 from: user._id,
92 to: user.following[i]._id,
93 arrows: {
94 to: user.following[i]._id
95 },
96 color: {
97 color: "#4876b4"
98 }
99 };
100 edges.push(edge);
101 }
102
103 res.status(200).jsonp({
104 nodes: nodes,
105 edges: edges
106 });
107 }
108 });
109};