UNPKG

github-contributions-counter

Version:

A simple Javascript API that will return the public github contributions history for a user based on a universal function

75 lines (69 loc) 1.61 kB
import axios, { AxiosResponse } from 'axios' export interface GetGithubContributions { username: string token: string } export interface Response extends AxiosResponse { data: { data: { user: { name: string contributionsCollection: { contributionCalendar: { colors: string[] totalContributions: number weeks: { firstDay: string contributionDays: Array<{ color: string contributionCount: number date: string weekday: number }> }[] } } } } } } export const getGithubContributions = async ({ username, token }: GetGithubContributions): Promise<Response> => { if (!username || !token) { throw new Error('You must provide a github username and token') } const headers = { Authorization: `bearer ${token}` } const body = { query: `query { user(login: "${username}") { name contributionsCollection { contributionCalendar { colors totalContributions weeks { contributionDays { color contributionCount date weekday } firstDay } } } } }` } const response = await axios({ url: 'https://api.github.com/graphql', method: 'post', data: { query: body.query }, headers }) return response }