import { cookies } from "next/headers";
import { SESSION_COOKIE, displayNameFor } from "./session";
import type { SessionPayload } from "./session";

export async function getServerSession(): Promise<SessionPayload | null> {
  const store = await cookies();
  const raw = store.get(SESSION_COOKIE)?.value;
  if (!raw) return null;
  try {
    return JSON.parse(decodeURIComponent(raw)) as SessionPayload;
  } catch {
    return null;
  }
}

export async function getServerDisplayName(): Promise<string> {
  const s = await getServerSession();
  return displayNameFor(s);
}
