/
helpers.js
39 lines (33 loc) · 1.04 KB
/
helpers.js
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
var fs = require('fs');
var path = require('path');
var _ = require('lodash');
function getUser (username) {
var user = JSON.parse(fs.readFileSync(getUserFilePath(username), {encoding: 'utf8'}));
user.name.full = _.startCase(user.name.first + ' ' + user.name.last);
_.keys(user.location).forEach(function (key) {
user.location[key] = _.startCase(user.location[key]);
});
return user;
}
function getUserFilePath (username) {
return path.join(__dirname, 'users', username) + '.json';
}
function saveUser (username, data) {
var fp = getUserFilePath(username);
fs.unlinkSync(fp); // delete the file
fs.writeFileSync(fp, JSON.stringify(data, null, 2), {encoding: 'utf8'});
}
function verifyUser (req, res, next) {
var fp = getUserFilePath(req.params.username);
fs.exists(fp, function (yes) {
if (yes) {
next();
} else {
res.redirect('/error/' + req.params.username);
}
});
}
exports.getUser = getUser;
exports.getUserFilePath = getUserFilePath;
exports.saveUser = saveUser;
exports.verifyUser = verifyUser;