Blame view

app/services/ConvsServ.js 1.63 KB
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
1
  var ConvModl = require('../models/ConvModl');
43b2778d   Geoffrey PREUD'HOMME   Rassemblement de ...
2
  // var PolyUserServ = require('../services/PolyUserServ');
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
3
4
5
6
  var async = require('async');
  
  var ConvsServ = {};
  
9378de0d   Geoffrey PREUD'HOMME   Affichage d'une c...
7
  ConvsServ.addData = function (conv, cb) {
43b2778d   Geoffrey PREUD'HOMME   Rassemblement de ...
8
      // PolyUserServ.get(Conv.login, function (err, nom) {
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
9
10
11
12
13
14
15
16
17
      //     if (nom) {
      //         Conv.nom = nom;
      //     } else {
      //         Conv.nom = Conv.login;
      //     }
      //     cb(null, Conv);
      // });
      // TODO Démarré par
      // TODO Dernier message
9378de0d   Geoffrey PREUD'HOMME   Affichage d'une c...
18
      cb(null, conv);
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
19
20
  };
  
f22cd7f3   Geoffrey PREUD'HOMME   Système de messag...
21
22
23
24
25
26
27
28
29
30
  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) {
9378de0d   Geoffrey PREUD'HOMME   Affichage d'une c...
31
      ConvModl.findById(id).lean().exec(function (err, conv) {
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
32
33
34
          if (err)
              cb(err);
          else
9378de0d   Geoffrey PREUD'HOMME   Affichage d'une c...
35
              ConvsServ.addData(conv, cb);
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
36
37
38
      });
  };
  
f22cd7f3   Geoffrey PREUD'HOMME   Système de messag...
39
  ConvsServ.list = function (cb) { // TODO Visibilité
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
40
41
42
43
44
      ConvModl.find({}).lean().exec(function (err, Convs) {
          async.mapSeries(Convs, ConvsServ.addData, cb);
      });
  };
  
61d4f326   Geoffrey PREUD'HOMME   Gestion des dossiers
45
46
47
48
49
50
51
52
  ConvsServ.children = function (id, cb) {
      ConvModl.find({
          parent: id
      }).lean().exec(function (err, Conv) {
          async.mapSeries(Conv, ConvsServ.addData, cb);
      });
  };
  
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
53
54
  ConvsServ.add = function (data, cb) {
      ConvModl.create({
61d4f326   Geoffrey PREUD'HOMME   Gestion des dossiers
55
56
          titre: data.titre,
          parent: data.parent
f22cd7f3   Geoffrey PREUD'HOMME   Système de messag...
57
      }, function (err, Conv) {
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
58
59
60
61
          ConvsServ.get(Conv._id, cb);
      });
  };
  
f22cd7f3   Geoffrey PREUD'HOMME   Système de messag...
62
63
64
65
  ConvsServ.canWriteIn = function (id, login, cb) {
      ConvsServ.exists(id, cb);
  };
  
12162cc1   Geoffrey PREUD'HOMME   Liste de conversa...
66
67
68
69
70
71
72
73
  ConvsServ.remove = function (id, cb) {
      // TODO Trash
      ConvModl.remove({
          _id: id
      }, cb);
  };
  
  module.exports = ConvsServ;