Update to doughmination fork

This commit is contained in:
Clove 2026-06-13 10:38:30 +01:00
parent 6cab37bf0a
commit 502098c270
5 changed files with 21 additions and 40 deletions

View File

@ -1,16 +0,0 @@
import { z } from "zod";
import { Day, daySchema, USER_AGENT } from "./common";
export const codebergResponse = z.array(daySchema);
export async function queryCodeberg(env: Env): Promise<{ codeberg: Day[] }> {
const response = await fetch(
`https://codeberg.org/api/v1/users/${env.CODEBERG_USERNAME}/heatmap`,
{
headers: {
"User-Agent": USER_AGENT,
},
},
);
return { codeberg: codebergResponse.parse(await response.json()) };
}

View File

@ -1,6 +1,6 @@
import { z } from "zod";
export const USER_AGENT = "contribapi/0.1.0-dev (https://codeberg.org/dragsbruh/contribapi)";
export const USER_AGENT = "doughmination-contribapi/0.1.0-dev (forked from: https://codeberg.org/dragsbruh/contribapi)";
export const daySchema = z.strictObject({
timestamp: z.int().positive(),

View File

@ -1,20 +0,0 @@
import { z } from "zod";
import { Day, daySchema, USER_AGENT } from "./common";
// CHANGE `forgejoResponse`
export const forgejoResponse = z.array(daySchema);
// CHANGE `queryForgejo` AND `{ forgejo: Day[] }`
export async function queryForgejo(env: Env): Promise<{ forgejo: Day[] }> {
const response = await fetch(
// CHANGE `https://example.com` and `env.FORGEJO_USERNAME`
`https://example.com/api/v1/users/${env.FORGEJO_USERNAME}/heatmap`,
{
headers: {
"User-Agent": USER_AGENT,
},
},
);
// CHANGE `forgejo:` and `forgejoResponse`
return { forgejo: forgejoResponse.parse(await response.json()) };
}

18
src/gitdotgay.ts Normal file
View File

@ -0,0 +1,18 @@
import { z } from "zod";
import { Day, daySchema, USER_AGENT } from "./common";
export const gitdotgayResponse = z.array(daySchema);
export async function queryGitdotGay(env: Env): Promise<{ gitdotgay: Day[] }> {
const response = await fetch(
// CHANGE `https://example.com` and `env.FORGEJO_USERNAME`
`https://git.gay/api/v1/users/${env.GITDOTGAY_USERNAME}/heatmap`,
{
headers: {
"User-Agent": USER_AGENT,
},
},
);
return { gitdotgay: gitdotgayResponse.parse(await response.json()) };
}

View File

@ -1,4 +1,4 @@
import { queryCodeberg } from "./codeberg";
import { queryGitdotGay } from "./gitdotgay";
import { queryGithub } from "./github";
const corsHeaders = {
@ -8,10 +8,9 @@ const corsHeaders = {
};
function queryForges(env: Env) {
// CHANGE add/remove forges here
return [
queryGithub(env),
queryCodeberg(env),
queryGitdotGay(env)
];
}