1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
//
// Users Controller
//
'use strict';
module.exports = function() {
var app = this.app,
core = this.core,
middlewares = this.middlewares,
models = this.models,
User = models.user;
//
// Routes
//
app.get('/users', middlewares.requireLogin, function(req) {
req.io.route('users:list');
});
app.get('/users/:id', middlewares.requireLogin, function(req) {
req.io.route('users:get');
});
//
// Sockets
//
app.io.route('users', {
list: function(req, res) {
var options = {
skip: req.param('skip'),
take: req.param('take')
};
core.users.list(options, function(err, users) {
if (err) {
console.log(err);
return res.status(400).json(err);
}
res.json(users);
});
},
get: function(req, res) {
var identifier = req.param('id');
User.findByIdentifier(identifier, function (err, user) {
if (err) {
console.error(err);
return res.status(400).json(err);
}
if (!user) {
return res.sendStatus(404);
}
res.json(user);
});
}
});
};
|