import { cookies } from "next/headers";
import jwt from "jsonwebtoken";

interface StudentTokenPayload {
  id: number;
  name?: string;
  student_id?: string;
  email?: string;
  [key: string]: unknown;
}

export async function getStudent(): Promise<StudentTokenPayload | null> {
  try {
    const cookieStore = await cookies();
    const token = cookieStore.get("student_token")?.value;
    if (!token) return null;

    const decoded = jwt.verify(token, process.env.JWT_SECRET!);
    return decoded as StudentTokenPayload;
  } catch {
    return null;
  }
}