From a4adc19e1e8cbe1e91afc5d81a5c844a8e92cb18 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 14 Oct 2016 22:02:20 -0700 Subject: List users --- src/app.coffee | 2 ++ src/routes/users.coffee | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) (limited to 'src') diff --git a/src/app.coffee b/src/app.coffee index 903fa879..dfc1e295 100644 --- a/src/app.coffee +++ b/src/app.coffee @@ -6,6 +6,7 @@ path = require('path') passport = require('./passport') config = require('./config') fs = require('fs') +bcoin = require('bcoin').set('testnet') proxyMiddleware = require('http-proxy-middleware') sessions = require("./routes/sessions")(passport) @@ -118,6 +119,7 @@ app.get('/login', cache, sessions.new) app.post('/login', sessions.create) app.get('/logout', sessions.destroy) +app.get('/users.json', users.index) app.get('/register', cache, users.new) app.get('/users/new', cache, users.new) app.post('/users', users.create) diff --git a/src/routes/users.coffee b/src/routes/users.coffee index 87fd0f51..cff87d62 100644 --- a/src/routes/users.coffee +++ b/src/routes/users.coffee @@ -1,3 +1,4 @@ +Promise = require('bluebird') db = require("../redis") config = require("../config") bcrypt = require('bcryptjs') @@ -10,6 +11,21 @@ module.exports = (sessions) -> if obj? then res.write('true') else res.write('false') res.end() ) + + index: (req, res) -> + result = 'users': [] + db.keysAsync("user:*").then((users) -> + Promise.all(users.map((key) -> + db.hgetallAsync(key).then((user) -> + delete user['password'] + result.users.push(user) + ) + )) + ).then(-> + res.writeHead(200, {"Content-Type": "application/json"}); + res.write(JSON.stringify(result)) + res.end() + ) json: (req, res) -> res.end() unless req.params.user -- cgit v1.2.3