mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-01-26 11:44:12 +00:00
cached endpoint for fetching users
This commit is contained in:
4
index.js
4
index.js
@@ -8,11 +8,13 @@ app.use(bodyParser.json());
|
||||
app.use(bodyParser.urlencoded({extended: true}));
|
||||
|
||||
require('./routes/invite')(app);
|
||||
require('./routes/members')(app);
|
||||
|
||||
app.use(function(err, req, res, next) {
|
||||
/*jshint unused:false*/
|
||||
console.error(err.message);
|
||||
console.error(err.stack);
|
||||
res.status(500).send('Internal server error');
|
||||
});
|
||||
|
||||
app.listen(9000);
|
||||
app.listen(process.env.PORT || 9000);
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/koodiklinikka/koodiklinikka.fi-api",
|
||||
"dependencies": {
|
||||
"apicache": "0.0.12",
|
||||
"body-parser": "^1.10.1",
|
||||
"express": "^4.11.0",
|
||||
"lodash": "^2.4.1",
|
||||
|
||||
28
routes/members.js
Normal file
28
routes/members.js
Normal file
@@ -0,0 +1,28 @@
|
||||
'use strict';
|
||||
|
||||
var request = require('superagent');
|
||||
var cache = require('apicache').middleware;
|
||||
|
||||
var config = require('../lib/config');
|
||||
|
||||
module.exports = function (app) {
|
||||
/*
|
||||
* POST /members
|
||||
* Endpoint for fetching GitHub org members
|
||||
*/
|
||||
|
||||
app.get('/members', cache('3 hours'), function(req, res, next) {
|
||||
request
|
||||
.get('https://api.github.com/orgs/koodiklinikka/public_members')
|
||||
.set('Authorization', 'token ' + config.github.token)
|
||||
.end(function(error, response){
|
||||
if(error) {
|
||||
return next(error);
|
||||
}
|
||||
req.apicacheGroup = response.body;
|
||||
res.status(200).send(response.body);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user