var Noms = require('../models/noms'); var LineTransform = require('node-line-reader').LineTransform; var fs = require('fs'); var noms = {}; noms.get = function (login, cb) { Noms.findOne({ login: login }, function (err, nom) { if (err) { console.error(err); cb(false); } else { if (nom) { cb(nom.nom); } else { 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(':'); if (ex[0] == login) { // Si trouvé stream.close(); cb(ex[4]); found = true; Noms.create({ login: login, nom: ex[4] }); } }); transform.on('end', function () { if (!found) { cb(false); } }); } else { console.error("Impossible de trouver le fichier passwd"); cb(login.toUpperCase()); } }); } } }); }; module.exports = noms;