import { redirect } from "next/navigation" import Link from "next/link" import { desc, eq } from "drizzle-orm" import { db } from "@/lib/db" import { api_keys } from "@/lib/db/schema" import { getSessionUser } from "@/lib/session" import { ApiKeyManager, type ApiKeyRow } from "@/components/dashboard/api-key-manager" export const metadata = { title: "API Keys" } export default async function ApiKeysSettingsPage() { const user = await getSessionUser() if (!user) redirect("/login") const rows = await db .select({ id: api_keys.id, name: api_keys.name, key_prefix: api_keys.key_prefix, created_at: api_keys.created_at, last_used_at: api_keys.last_used_at, revoked_at: api_keys.revoked_at, }) .from(api_keys) .where(eq(api_keys.user_id, user.id)) .orderBy(desc(api_keys.created_at)) const keys: ApiKeyRow[] = rows return (

API Keys

Create keys to authenticate with the public REST API. See the{" "} API documentation {" "} for available endpoints.

) }