16 lines
470 B
TypeScript
16 lines
470 B
TypeScript
import { getServerSession } from "next-auth";
|
|
import { authOptions } from "@/lib/auth";
|
|
import { redirect } from "next/navigation";
|
|
|
|
export async function requireAuth() {
|
|
const session = await getServerSession(authOptions);
|
|
if (!session) redirect("/login");
|
|
return session;
|
|
}
|
|
|
|
export async function requireAdmin() {
|
|
const session = await getServerSession(authOptions);
|
|
if (!session || (session.user as any).role !== "ADMIN") redirect("/");
|
|
return session;
|
|
}
|