diff --git a/server.js b/server.js index 3903589..0f85e97 100755 --- a/server.js +++ b/server.js @@ -4,6 +4,7 @@ // P A C K A G E S +const async = require("async"); const color = require("turbocolor"); const cors = require("cors"); const dedent = require("dedent"); @@ -298,7 +299,7 @@ function generateGitHubFeed(displayGitHubFeed) { `); } - // TODO: Update `.last-updated` every minute + updateGithubFeed(); // TODO: Update `.last-updated` every minute displayGitHubFeed(dedent`

GitHub

@@ -377,6 +378,29 @@ function newsletterSubscribe(data, socket) { }); } +function updateGithubFeed() { + octokit.activity.getEventsForOrg({ + org: "lbryio", + per_page: 20, + page: 1 + }).then(({ data }) => { + async.eachSeries(data, (item, callback) => { + const eventString = JSON.stringify(item); + + client.zrank("events", eventString, (err, reply) => { + if (reply === null) client.zadd("events", item.id, eventString, callback); + else callback(); + }); + }, () => client.zremrangebyrank("events", 0, -51)); // Keep the latest 50 events + }).catch(err => { + logSlackError( + "\n" + + "> *GITHUB FEED ERROR:* ```" + JSON.parse(JSON.stringify(err)) + "```" + "\n" + + "> _Cause: GitHub feed refresh_\n" + ); + }); +} + function uploadImage(imageSource) { return new Promise((resolve, reject) => { request({ diff --git a/views/pages/_api.js b/views/pages/_api.js index a2b62c5..d22e0a0 100644 --- a/views/pages/_api.js +++ b/views/pages/_api.js @@ -1,2 +1,5 @@ // https://github.com/lbryio/lbry/blob/master/docs/api.json +// https://rawgit.com/lbryio/lbry/master/docs/api.json +// https://cdn.rawgit.com/lbryio/lbry/5b3103e4/docs/api.json + // https://www.npmjs.com/package/make-fetch-happen