"use server"; import { auth } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; import { headers } from "next/headers"; export type UsersListRow = { id: string; name: string | null; email: string; role: "admin" | "user"; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; export async function getUsers(): Promise { const session = await auth.api.getSession({ headers: await headers() }); const role = (session as any)?.user?.role as string | undefined; if (!session || role !== "admin") { throw new Error("Forbidden"); } const rows = await prisma.user.findMany({ orderBy: { createdAt: "asc" }, select: { id: true, name: true, email: true, role: true, emailVerified: true, createdAt: true, updatedAt: true, }, }); return rows as UsersListRow[]; }