UNPKG

gittoken-api-middleware

Version:

GitToken Express Middleware for GitHub Webhook Endpoints

56 lines (51 loc) 1.36 kB
import rp from 'request-promise' import Promise, { join } from 'bluebird' export default function parseRepositoryStats({ repository, owner, clientID, clientSecret }) { return new Promise((resolve, reject) => { let contributors = {} Promise.resolve().then(() => { return rp({ method: 'GET', uri: `https://api.github.com/repos/${owner}/${repository}/stats/contributors?client_id=${clientID}&client_secret=${clientSecret}`, json: true, headers: { 'User-Agent': 'GitToken' } }) }).map((data) => { const { weeks } = data let reward = weeks.map((week, i) => { const { a, d, c } = week console.log('a, d, c', a, d, c) let b = Math.pow(c, (1/c)) let v = ((a - d) / b) + (b*1000) console.log('v', v) console.log('b', b) return v }).reduce((acc, v) => { return acc += parseInt(v); }) return join( reward, this.retrieveGitHubUser({ username: data['author']['login'], clientID, clientSecret }) ) }).map((data) => { // console.log('data', data) contributors[data[1]['login']] = data[0] return null }).then(() => { resolve(contributors) }).catch((error) => { reject(error) }) }) }