Something went wrong. Try again.
Monorepo for Tangled
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536import { json } from "@sveltejs/kit";import type { RequestHandler } from "./$types";import { account, githubCookies, githubEnv, GitHubUpstreamError, noStore, sessionToken} from "$lib/server/github";
export const GET: RequestHandler = async ({ cookies, platform, fetch, url, request }) => { const token = await sessionToken(cookies, platform); if (!token) return json({ error: "unauthorized" }, { status: 401, headers: noStore() }); try { return json(await account(githubEnv(platform), token, fetch), { headers: noStore() }); } catch (cause) { if (cause instanceof GitHubUpstreamError && cause.status === 401) { githubCookies(cookies, url, request.headers).token.clear(); return json({ error: "unauthorized" }, { status: 401, headers: noStore() }); } return json({ error: "GitHub request failed" }, { status: 502, headers: noStore() }); }};
export const DELETE: RequestHandler = async ({ request, cookies, url }) => { const same = request.headers.get("sec-fetch-site") === "same-origin" || request.headers.get("origin") === new URL(request.url).origin; if (!same) return json({ error: "forbidden" }, { status: 403, headers: noStore() }); const jar = githubCookies(cookies, url, request.headers); jar.token.clear(); jar.state.clear(); return json({ ok: true }, { headers: noStore() });};