import type { NextRequest } from "next/server"; import type { GiteaConfig } from "@otm/account-panel"; import { getSession } from "./auth"; // Suggestions are filed as issues on the Gitea repo — no DB model. // Returns null (→ routes answer 503, panel shows a tidy empty state) when any // piece is missing, so the feature degrades gracefully if env isn't wired. export function giteaConfig(): GiteaConfig | null { const baseUrl = process.env.GITEA_URL; const token = process.env.GITEA_TOKEN; const repo = process.env.GITEA_REPO; if (!baseUrl || !token || !repo) return null; return { baseUrl, token, repo }; } /** Only signed-in users may read/write suggestions. */ export async function suggestionGuard(_req: NextRequest): Promise { const session = await getSession(); return !!session?.user; }