Refactored feeds in to services

Changed members route to use the GitHub service for data fetching
This commit is contained in:
Juuso Tapaninen
2015-02-02 23:11:56 +02:00
parent 5a48b39357
commit ee7fd0be68
4 changed files with 25 additions and 18 deletions

View File

@@ -1,10 +1,9 @@
'use strict';
var request = require('superagent');
var cache = require('apicache').middleware;
var Promise = require('bluebird');
var twitter = require('../feeds/twitter');
var github = require('../feeds/github');
var twitter = require('../services/twitter');
var github = require('../services/github');
module.exports = function (app) {
/*

View File

@@ -1,28 +1,19 @@
'use strict';
var request = require('superagent');
var github = require('../services/github');
var cache = require('apicache').middleware;
var config = require('../lib/config');
module.exports = function (app) {
/*
* POST /members
* Endpoint for fetching GitHub org members
* Endpoint for fetching GitHub org public 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);
github.getMembers().then(function(data) {
res.status(200).send(data);
}, function(error) {
next(error);
});
});
};

View File

@@ -18,6 +18,23 @@ module.exports = {
reject(error);
}
resolve(response.body);
});
});
},
/**
* Fetch all the public members of the GitHub organization
*/
getMembers: function() {
return new Promise(function(resolve, reject) {
request
.get('https://api.github.com/orgs/koodiklinikka/public_members')
.set('Authorization', 'token ' + config.github.token)
.end(function(error, response){
if (error) {
reject(error);
}
resolve(response.body);
});
});