Add venmo recent payments
This commit is contained in:
@ -347,41 +347,41 @@ exports.getSteam = function(req, res, next) {
|
|||||||
var query = { l: 'english', steamid: steamId, key: secrets.steam.apiKey };
|
var query = { l: 'english', steamid: steamId, key: secrets.steam.apiKey };
|
||||||
|
|
||||||
async.parallel({
|
async.parallel({
|
||||||
playerAchievements: function(done) {
|
playerAchievements: function(done) {
|
||||||
query.appid = '49520';
|
query.appid = '49520';
|
||||||
var qs = querystring.stringify(query);
|
var qs = querystring.stringify(query);
|
||||||
request.get({ url: 'http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v0001/?' + qs, json: true }, function(error, request, body) {
|
request.get({ url: 'http://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v0001/?' + qs, json: true }, function(error, request, body) {
|
||||||
if (request.statusCode === 401) return done(new Error('Missing or Invalid Steam API Key'));
|
if (request.statusCode === 401) return done(new Error('Missing or Invalid Steam API Key'));
|
||||||
done(error, body);
|
done(error, body);
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
playerSummaries: function(done) {
|
||||||
|
query.steamids = steamId;
|
||||||
|
var qs = querystring.stringify(query);
|
||||||
|
request.get({ url: 'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?' + qs, json: true }, function(error, request, body) {
|
||||||
|
if (request.statusCode === 401) return done(new Error('Missing or Invalid Steam API Key'));
|
||||||
|
done(error, body);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
ownedGames: function(done) {
|
||||||
|
query.include_appinfo = 1;
|
||||||
|
query.include_played_free_games = 1;
|
||||||
|
var qs = querystring.stringify(query);
|
||||||
|
request.get({ url: 'http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?' + qs, json: true }, function(error, request, body) {
|
||||||
|
if (request.statusCode === 401) return done(new Error('Missing or Invalid Steam API Key'));
|
||||||
|
done(error, body);
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
playerSummaries: function(done) {
|
function(err, results) {
|
||||||
query.steamids = steamId;
|
if (err) return next(err);
|
||||||
var qs = querystring.stringify(query);
|
|
||||||
request.get({ url: 'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?' + qs, json: true }, function(error, request, body) {
|
|
||||||
if (request.statusCode === 401) return done(new Error('Missing or Invalid Steam API Key'));
|
|
||||||
done(error, body);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
ownedGames: function(done) {
|
|
||||||
query.include_appinfo = 1;
|
|
||||||
query.include_played_free_games = 1;
|
|
||||||
var qs = querystring.stringify(query);
|
|
||||||
request.get({ url: 'http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?' + qs, json: true }, function(error, request, body) {
|
|
||||||
if (request.statusCode === 401) return done(new Error('Missing or Invalid Steam API Key'));
|
|
||||||
done(error, body);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
function(err, results) {
|
|
||||||
if (err) return next(err);
|
|
||||||
res.render('api/steam', {
|
res.render('api/steam', {
|
||||||
title: 'Steam Web API',
|
title: 'Steam Web API',
|
||||||
ownedGames: results.ownedGames.response.games,
|
ownedGames: results.ownedGames.response.games,
|
||||||
playerAchievemments: results.playerAchievements.playerstats,
|
playerAchievemments: results.playerAchievements.playerstats,
|
||||||
playerSummary: results.playerSummaries.response.players[0]
|
playerSummary: results.playerSummaries.response.players[0]
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -419,13 +419,24 @@ exports.getVenmo = function(req, res, next) {
|
|||||||
var token = _.findWhere(req.user.tokens, { kind: 'venmo' });
|
var token = _.findWhere(req.user.tokens, { kind: 'venmo' });
|
||||||
var query = querystring.stringify({ access_token: token.accessToken });
|
var query = querystring.stringify({ access_token: token.accessToken });
|
||||||
|
|
||||||
// Get profile information
|
async.parallel({
|
||||||
request.get({ url: 'https://api.venmo.com/v1/me?' + query, json: true }, function(err, request, body) {
|
getProfile: function(done) {
|
||||||
|
request.get({ url: 'https://api.venmo.com/v1/me?' + query, json: true }, function(err, request, body) {
|
||||||
|
done(err, body);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getRecentPayments: function(done) {
|
||||||
|
request.get({ url: 'https://api.venmo.com/v1/payments?' + query, json: true }, function(err, request, body) {
|
||||||
|
done(err, body);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
function(err, results) {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
|
|
||||||
res.render('api/venmo', {
|
res.render('api/venmo', {
|
||||||
title: 'Venmo API',
|
title: 'Venmo API',
|
||||||
profile: body.data
|
profile: results.getProfile.data,
|
||||||
|
recentPayments: results.getRecentPayments.data
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -61,4 +61,23 @@ block content
|
|||||||
br
|
br
|
||||||
|
|
||||||
h3 Recent Payments
|
h3 Recent Payments
|
||||||
|
table.table.table-striped.table-bordered
|
||||||
|
thead
|
||||||
|
tr
|
||||||
|
th To
|
||||||
|
th Amount
|
||||||
|
th Status
|
||||||
|
th Date
|
||||||
|
th Note
|
||||||
|
tbody
|
||||||
|
if recentPayments.length
|
||||||
|
for payment in recentPayments
|
||||||
|
tr
|
||||||
|
td= payment.target.phone || payment.target.email
|
||||||
|
td= payment.amount
|
||||||
|
td= payment.status
|
||||||
|
td= payment.date_created
|
||||||
|
td= payment.note
|
||||||
|
else
|
||||||
|
tr
|
||||||
|
td(colspan=5) No recent payments.
|
Reference in New Issue
Block a user