DosssServ.js
2.54 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
var DossModl = require('../models/DossModl');
// var PolyUserServ = require('../services/PolyUserServ');
var async = require('async');
var DosssServ = {};
(function init() {
DossModl.find({
special: 'root'
}).exec(function (err, data) {
if (data.length < 1) {
DossModl.create({
special: 'root',
titre: 'Racine'
});
}
});
})();
DosssServ.addData = function (doss, cb) {
// PolyUserServ.get(Doss.login, function (err, nom) {
// if (nom) {
// Doss.nom = nom;
// } else {
// Doss.nom = Doss.login;
// }
// cb(null, Doss);
// });
// TODO Dernier message
cb(null, doss);
};
DosssServ.exists = function (id, cb) {
DossModl.findById(id).exec(function (err, doss) {
if (err)
cb(err);
else
cb(null, true);
});
};
DosssServ.getId = function (special, cb) {
DossModl.findById(special).exec(function (err, doss) {
if (!err && doss) {
cb(doss._id); // Équivalent à cb(special)
} else {
DossModl.findOne({
special: special
}).exec(function (err2, doss) {
if (!err2 && doss) {
cb(doss._id);
} else {
cb(null);
}
});
}
});
};
DosssServ.get = function (special, cb) {
DosssServ.getId(special, function (id) { // TODO À enlever avec api.get('/dosss/:doss_id')
DossModl.findById(id).lean().exec(function (err, doss) {
if (err) {
cb(err);
} else {
DosssServ.addData(doss, cb);
}
});
});
};
DosssServ.list = function (cb) {
DossModl.find({}).lean().exec(function (err, Dosss) {
async.mapSeries(Dosss, DosssServ.addData, cb);
});
};
DosssServ.children = function (id, cb) {
DossModl.find({
parent: id
}).lean().exec(function (err, Dosss) {
async.mapSeries(Dosss, DosssServ.addData, cb);
});
};
DosssServ.add = function (data, cb) {
DossModl.create({
titre: data.titre,
parent: data.parent
}, function (err, Doss) {
if (err) {
cb(err);
} else {
DosssServ.get(Doss._id, cb);
}
});
};
DosssServ.canWriteIn = function (id, login, cb) {
DosssServ.exists(id, cb);
};
DosssServ.remove = function (id, cb) {
// TODO Trash
DossModl.remove({
_id: id
}, cb);
};
module.exports = DosssServ;