1
0
Fork 0
mirror of https://gitbruv.vercel.app/api/git/bruv/gitbruv.git synced 2025-12-20 23:24:09 +01:00
This commit is contained in:
Ahmet Kilinc 2025-12-20 03:59:04 +00:00
parent c2e82d8299
commit a84c655c58
2 changed files with 44 additions and 16 deletions

43
app/api/debug/r2/route.ts Normal file
View file

@ -0,0 +1,43 @@
import { NextRequest, NextResponse } from "next/server";
import { r2List, r2Get } from "@/lib/r2";
import { db } from "@/db";
import { users } from "@/db/schema";
import { eq } from "drizzle-orm";
import { getRepoPrefix } from "@/lib/r2-fs";
export async function GET(request: NextRequest) {
const { searchParams } = new URL(request.url);
const username = searchParams.get("username");
const repo = searchParams.get("repo");
if (!username || !repo) {
return NextResponse.json({ error: "Missing username or repo" }, { status: 400 });
}
const user = await db.query.users.findFirst({
where: eq(users.username, username),
});
if (!user) {
return NextResponse.json({ error: "User not found" }, { status: 404 });
}
const repoPrefix = getRepoPrefix(user.id, `${repo}.git`);
const allKeys = await r2List(repoPrefix + "/");
const head = await r2Get(`${repoPrefix}/HEAD`);
const config = await r2Get(`${repoPrefix}/config`);
const refsHeadsMain = await r2Get(`${repoPrefix}/refs/heads/main`);
const refsMaster = await r2Get(`${repoPrefix}/refs/heads/master`);
return NextResponse.json({
repoPrefix,
totalKeys: allKeys.length,
keys: allKeys.slice(0, 100),
head: head?.toString(),
config: config?.toString(),
"refs/heads/main": refsHeadsMain?.toString(),
"refs/heads/master": refsMaster?.toString(),
});
}