add wkatime proxy
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
};
|
||||
@@ -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;
|
||||
Reference in New Issue
Block a user