ConvsServ.js
1.41 KB
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
63
64
var ConvModl = require('../models/ConvModl');
// var PolyUserServ = require('../services/PolyUserServ');
var async = require('async');
var ConvsServ = {};
ConvsServ.addData = function (conv, cb) {
// PolyUserServ.get(Conv.login, function (err, nom) {
// if (nom) {
// Conv.nom = nom;
// } else {
// Conv.nom = Conv.login;
// }
// cb(null, Conv);
// });
// TODO Démarré par
// TODO Dernier message
cb(null, conv);
};
ConvsServ.exists = function (id, cb) {
ConvModl.findById(id).exec(function (err, conv) {
if (err)
cb(err);
else
cb(null, true);
});
};
ConvsServ.get = function (id, cb) {
ConvModl.findById(id).lean().exec(function (err, conv) {
if (err)
cb(err);
else
ConvsServ.addData(conv, cb);
});
};
ConvsServ.list = function (cb) { // TODO Visibilité
ConvModl.find({}).lean().exec(function (err, Convs) {
async.mapSeries(Convs, ConvsServ.addData, cb);
});
};
ConvsServ.add = function (data, cb) {
ConvModl.create({
titre: data.titre
}, function (err, Conv) {
ConvsServ.get(Conv._id, cb);
});
};
ConvsServ.canWriteIn = function (id, login, cb) {
ConvsServ.exists(id, cb);
};
ConvsServ.remove = function (id, cb) {
// TODO Trash
ConvModl.remove({
_id: id
}, cb);
};
module.exports = ConvsServ;