aboutsummaryrefslogtreecommitdiffstats
path: root/routes/users.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2015-11-11 13:25:35 -0800
committerAdam Soltys <[email protected]>2015-11-11 13:25:35 -0800
commitc1cd55151fdea2bd80e27a6a9dfc905a243dd379 (patch)
treece8f86cf2f247582b133c26d0f728a102d235dd3 /routes/users.js
parent59528d7c0a301c805b03bf77492e489c0e723e79 (diff)
downloadcoinos-server-c1cd55151fdea2bd80e27a6a9dfc905a243dd379.tar.gz
coinos-server-c1cd55151fdea2bd80e27a6a9dfc905a243dd379.zip
Fetch remote image files and store locally
Diffstat (limited to 'routes/users.js')
-rw-r--r--routes/users.js17
1 files changed, 15 insertions, 2 deletions
diff --git a/routes/users.js b/routes/users.js
index c5e0f0ee..28b89797 100644
--- a/routes/users.js
+++ b/routes/users.js
@@ -1,5 +1,5 @@
(function() {
- var bcrypt, config, db;
+ var bcrypt, config, db, fs, request;
db = require("../redis");
@@ -7,6 +7,10 @@
bcrypt = require('bcrypt');
+ fs = require('fs');
+
+ request = require('request');
+
module.exports = function(sessions) {
return {
exists: function(req, res) {
@@ -34,7 +38,7 @@
},
show: function(req, res) {
return db.hgetall("user:" + req.params.user, function(err, obj) {
- var options;
+ var ext, options, path;
if (obj) {
options = {
user: req.params.user,
@@ -50,6 +54,15 @@
if (req.query.verified != null) {
options.verified = true;
}
+ if (obj.logo.length > 3) {
+ ext = obj.logo.substr(obj.logo.length - 3);
+ path = "public/assets/img/logos/" + obj.username + "." + ext;
+ fs.lstat(path, function(err, stats) {
+ if ((ext === 'jpg' || ext === 'png' || ext === 'gif') && (err || !stats.isFile())) {
+ return request("" + obj.logo).pipe(fs.createWriteStream(path));
+ }
+ });
+ }
res.render('users/show', options);
return delete req.session.verified;
} else {