fix: wakatime stats fetcher (#871)

fixes #865
This commit is contained in:
Anurag Hazra 2021-02-10 23:40:57 +05:30 committed by GitHub
parent 799a8c1e22
commit 93ae8d995b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 32 additions and 32 deletions

View file

@ -6,7 +6,7 @@ const {
CONSTANTS,
isLocaleAvailable,
} = require("../src/common/utils");
const { fetchLast7Days } = require("../src/fetchers/wakatime-fetcher");
const { fetchWakatimeStats } = require("../src/fetchers/wakatime-fetcher");
const wakatimeCard = require("../src/cards/wakatime-card");
module.exports = async (req, res) => {
@ -35,7 +35,7 @@ module.exports = async (req, res) => {
}
try {
const last7Days = await fetchLast7Days({ username, api_domain });
const stats = await fetchWakatimeStats({ username, api_domain });
let cacheSeconds = clampValue(
parseInt(cache_seconds || CONSTANTS.TWO_HOURS, 10),
@ -50,7 +50,7 @@ module.exports = async (req, res) => {
res.setHeader("Cache-Control", `public, max-age=${cacheSeconds}`);
return res.send(
wakatimeCard(last7Days, {
wakatimeCard(stats, {
custom_title,
hide_title: parseBoolean(hide_title),
hide_border: parseBoolean(hide_border),

View file

@ -1,11 +1,11 @@
const axios = require("axios");
const fetchLast7Days = async ({ username, api_domain }) => {
const fetchWakatimeStats = async ({ username, api_domain }) => {
try {
const { data } = await axios.get(
`https://${
api_domain ? api_domain.replace(/[^a-z-.0-9]/gi, "") : "wakatime.com"
}/api/v1/users/${username}/stats/last_7_days?is_including_today=true`,
}/api/v1/users/${username}/stats?is_including_today=true`,
);
return data.data;
@ -20,5 +20,5 @@ const fetchLast7Days = async ({ username, api_domain }) => {
};
module.exports = {
fetchLast7Days,
fetchWakatimeStats,
};

View file

@ -230,27 +230,27 @@ const langCardLocales = {
const wakatimeCardLocales = {
"wakatimecard.title": {
cn: "Wakatime 周统计",
cs: "Statistiky týdne Wakatime",
de: "Wakatime Wochen Status",
en: "Wakatime Week Stats",
es: "Estadísticas de la semana de Wakatime",
fr: "Statistiques de la semaine de Wakatime",
hu: "Wakatime heti statisztika",
it: "Statistiche della settimana di Wakatime",
ja: "Wakatime ウィーク統計",
cs: "Statistiky Wakatime",
de: "Wakatime Status",
en: "Wakatime Stats",
es: "Estadísticas de Wakatime",
fr: "Statistiques de Wakatime",
hu: "Wakatime statisztika",
it: "Statistiche Wakatime",
ja: "Wakatime ワカタイム統計",
kr: "Wakatime 주간 통계",
nl: "Wekelijkse Wakatime Status",
"pt-pt": "Estatísticas semanais Wakatime",
"pt-br": "Estatísticas da semana Wakatime",
np: "Wakatime हप्ता तथ्याङ्क",
el: "Εβδομαδιαία Στατιστικά από Wakatime",
ru: "Статистика недели Wakatime",
"uk-ua": "Статистика тижні Wakatime",
id: "Status Mingguan Wakatime",
my: "Statistik Minggu Wakatime",
sk: "Týždenná Wakatime štatistika",
tr: "Waketime Haftalık İstatistikler",
pl: "Tygodniowe statystyki Wakatime",
nl: "Takwimu za Wakatime",
"pt-pt": "Estatísticas Wakatime",
"pt-br": "Estatísticas Wakatime",
np: "Wakatime तथ्या .्क",
el: "Στατιστικά Wakatime",
ru: "Статистика Вакатиме",
"uk-ua": "Статистика Wakatime",
id: "Status Wakatime",
my: "Statistik Wakatime",
sk: "Wakatime štatistika",
tr: "Waketime İstatistikler",
pl: "statystyki Wakatime",
},
"wakatimecard.nocodingactivity": {
cn: "本周没有编程活动",

View file

@ -86,7 +86,7 @@ exports[`Test Render Wakatime Card should render correctly 1`] = `
y=\\"0\\"
class=\\"header\\"
data-testid=\\"header\\"
>Wakatime Week Stats</text>
>Wakatime Stats</text>
</g>
</g>
@ -237,7 +237,7 @@ exports[`Test Render Wakatime Card should render correctly with compact layout 1
y=\\"0\\"
class=\\"header\\"
data-testid=\\"header\\"
>Wakatime Week Stats</text>
>Wakatime Stats</text>
</g>
</g>

View file

@ -1,7 +1,7 @@
require("@testing-library/jest-dom");
const axios = require("axios");
const MockAdapter = require("axios-mock-adapter");
const { fetchLast7Days } = require("../src/fetchers/wakatime-fetcher");
const { fetchWakatimeStats } = require("../src/fetchers/wakatime-fetcher");
const mock = new MockAdapter(axios);
afterEach(() => {
@ -105,11 +105,11 @@ describe("Wakatime fetcher", () => {
const username = "anuraghazra";
mock
.onGet(
`https://wakatime.com/api/v1/users/${username}/stats/last_7_days?is_including_today=true`,
`https://wakatime.com/api/v1/users/${username}/stats?is_including_today=true`,
)
.reply(200, wakaTimeData);
const repo = await fetchLast7Days({ username });
const repo = await fetchWakatimeStats({ username });
expect(repo).toMatchInlineSnapshot(`
Object {
"categories": Array [
@ -206,7 +206,7 @@ describe("Wakatime fetcher", () => {
it("should throw error", async () => {
mock.onGet(/\/https:\/\/wakatime\.com\/api/).reply(404, wakaTimeData);
await expect(fetchLast7Days("noone")).rejects.toThrow(
await expect(fetchWakatimeStats("noone")).rejects.toThrow(
"Wakatime user not found, make sure you have a wakatime profile",
);
});