Blame view

app/services/MembresServ.js 2.5 KB
7a1fe62d   Geoffrey PREUD'HOMME   Consistence des noms
1
  var MembreModl = require('../models/MembreModl');
43b2778d   Geoffrey PREUD'HOMME   Rassemblement de ...
2
  var PolyUserServ = require('../services/PolyUserServ');
2f593328   Geoffrey PREUD'HOMME   Linting
3
  var async = require('async');
a7189c82   Geoffrey PREUD'HOMME   Membres comme con...
4
  
63f92223   Geoffrey PREUD'HOMME   Fixé création de ...
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  var MembresServ = module.exports = {
  
      public: ['_id', 'login', 'role'],
  
      simpleData: function (membreD, cb) {
          async.parallel([
              function (cba) {
                  var membre = {};
                  for (var prop of MembresServ.public) {
                      membre[prop] = membreD[prop];
                  }
  
                  cba(null, membre);
              },
              function (cba) {
                  PolyUserServ.get(membreD.login, cba);
              },
              function (cba) {
                  MembresServ.estMembre(membreD.login, cba);
              },
              function (cba) {
                  MembresServ.estBureau(membreD.login, cba);
278868c0   Geoffrey PREUD'HOMME   Refactorisation d...
27
              }
63f92223   Geoffrey PREUD'HOMME   Fixé création de ...
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
          ], function (err, res) {
              if (err) {
                  cb(err);
              } else {
                  membre = res[0];
                  membre.nom = res[1].nom;
                  membre.section = res[1].section;
                  membre.membre = res[2];
                  membre.bureau = res[3];
                  cb(null, membre);
              }
          });
      },
  
      get: function (id, cb) {
          MembreModl.findById(id, cb);
      },
  
      getLogin: function (login, cb) {
          MembreModl.findOne({
              login: login
          }, cb);
      },
  
      list: function (cb) {
          MembreModl.find({
              $or: [{
                  hidden: false
              }, {
                  hidden: undefined
              }]
          }, cb);
      },
  
      assert: function (membre, cb) {
  
          cb(null, membre.login && membre.role);
      },
  
      add: function (data, cb) {
  
          MembreModl.create({
              login: data.login,
              role: data.role
          }, cb);
      },
  
      remove: function (id, cb) {
          MembreModl.remove({
              _id: id
          }, cb);
      },
  
      estMembre: function (login, cb) {
          MembreModl.findOne({
              login: login
          }, function (err, data) {
              if (!err && data) {
                  cb(null, true);
              } else {
                  cb(null, false);
              }
          });
      },
  
      estBureau: function (login, cb) {
          MembreModl.findOne({
              login: login
          }, function (err, data) {
              if (!err && data && ['Président', 'Vice-président', 'Trésorier', 'Secrétaire'].indexOf(data.role) > -1) {
                  cb(null, true);
              } else {
                  cb(null, false);
              }
          });
      }
0f7812f5   Geoffrey PREUD'HOMME   Reconaissance des...
104
  };