add wkatime proxy

This commit is contained in:
martin-mfg
2025-10-11 13:56:02 +02:00
parent 7361750310
commit 8734fac30a
4 changed files with 38 additions and 0 deletions
@@ -3,6 +3,7 @@ import { default as gist } from "./api-renamed/gist.js";
import { default as pin } from "./api-renamed/pin.js";
import { default as topLangs } from "./api-renamed/top-langs.js";
import { default as wakatime } from "./api-renamed/wakatime.js";
import { default as wakatimeProxy } from "./api-renamed/wakatime-proxy.js";
import { default as repeatRecent } from "./api-renamed/repeat-recent.js";
import { default as patInfo } from "./api-renamed/status/pat-info.js";
import { default as statusUp } from "./api-renamed/status/up.js";
@@ -42,6 +43,9 @@ export default async (req, res) => {
case "/api/wakatime":
await wakatime(req, res);
break;
case "/api/wakatime-proxy":
await wakatimeProxy(req, res);
break;
case "/api/repeat-recent":
await repeatRecent(req, res);
break;
+18
View File
@@ -0,0 +1,18 @@
import { fetchWakatimeStats } from "../src/fetchers/wakatime.js";
import { logger } from "../src/common/utils.js";
/**
* @param {any} req The request.
* @param {any} res The response.
*/
export default async (req, res) => {
const { username } = req.query;
res.setHeader("Content-Type", "application/json");
try {
const stats = await fetchWakatimeStats({ username });
res.send(stats);
} catch (err) {
logger.error(err);
res.send("Something went wrong: " + err.message);
}
};
+1
View File
@@ -5,6 +5,7 @@ module.exports = {
webpack: {
alias: {
dotenv: path.resolve(__dirname, 'src/dotenv-browser-stub.js'),
'../src/fetchers/wakatime.js': path.resolve(__dirname, 'src/wakatime-override.js'),
},
configure: (webpackConfig) => {
@@ -0,0 +1,15 @@
import axios from 'axios';
import { HOST } from './constants';
const fetchWakatimeStats = async ({ username, api_domain }) => {
if (!username) {
throw new Error('missing parameter: username');
}
const { data } = await axios.get(`https://${HOST}/api/wakatime-proxy?username=${username}`);
return data.data;
};
export { fetchWakatimeStats };
export default fetchWakatimeStats;