Blame view

app/controllers/noms.js 1.69 KB
dafb4eeb   Geoffrey PREUD'HOMME   Affichage des nom...
1
  var Noms = require('../models/noms');
2ac0e575   Geoffrey PREUD'HOMME   Changé de line-re...
2
3
  var LineTransform = require('node-line-reader').LineTransform;
  var fs = require('fs')
dafb4eeb   Geoffrey PREUD'HOMME   Affichage des nom...
4
5
6
7
  
  var noms = {}
  
  noms.get = function (login, cb) {
cb1c1601   Geoffrey PREUD'HOMME   Cache lors de la ...
8
      Noms.findOne({
dafb4eeb   Geoffrey PREUD'HOMME   Affichage des nom...
9
10
11
12
13
14
          login: login
      }, function (err, nom) {
          if (err) {
              console.error(err)
              cb(false)
          } else {
cb1c1601   Geoffrey PREUD'HOMME   Cache lors de la ...
15
              if (nom) {
dafb4eeb   Geoffrey PREUD'HOMME   Affichage des nom...
16
17
                  cb(nom.nom)
              } else {
725cb3f7   Geoffrey PREUD'HOMME   Vérification de l...
18
19
20
21
22
23
24
25
26
                  passwdF = 'config/passwd'
                  fs.exists(passwdF, function (exists) {
                      found = false
                      if (exists) {
                          stream = fs.createReadStream(passwdF)
                          transform = new LineTransform()
                          stream.pipe(transform)
                          transform.on('data', function (line) {
                              ex = line.split(':')
725cb3f7   Geoffrey PREUD'HOMME   Vérification de l...
27
                              if (ex[0] == login) { // Si trouvé
74b217ea   Geoffrey PREUD'HOMME   Ferme le fichier ...
28
                                  stream.close()
725cb3f7   Geoffrey PREUD'HOMME   Vérification de l...
29
                                  cb(ex[4])
cb1c1601   Geoffrey PREUD'HOMME   Cache lors de la ...
30
31
32
33
34
                                  found = true
                                  Noms.create({
                                      login: login,
                                      nom: ex[4]
                                  })
725cb3f7   Geoffrey PREUD'HOMME   Vérification de l...
35
36
37
38
39
40
41
42
43
44
                              }
                          })
                          transform.on('end', function () {
                              if (!found) {
                                  cb(false)
                              }
                          })
                      } else {
                          console.error("Impossible de trouver le fichier passwd")
                          cb(login.toUpperCase())
2ac0e575   Geoffrey PREUD'HOMME   Changé de line-re...
45
46
                      }
                  })
dafb4eeb   Geoffrey PREUD'HOMME   Affichage des nom...
47
48
49
50
51
52
              }
          }
      })
  }
  
  module.exports = noms;