18 lines
565 B
TypeScript
18 lines
565 B
TypeScript
import { auth } from "@workspace/auth";
|
|
import { NextResponse } from 'next/server';
|
|
|
|
export default auth((req: any) => {
|
|
// If the user is unauthenticated or an admin, allow the request.
|
|
if (!req.auth || req.auth.user?.role === "ADMIN") {
|
|
return NextResponse.next();
|
|
}
|
|
|
|
// Otherwise, redirect to the student app.
|
|
const studentUrl = process.env.STUDENT_URL ?? "http://localhost:3000"
|
|
|
|
return NextResponse.redirect(new URL(studentUrl, req.url));
|
|
}) as any;
|
|
|
|
export const config = {
|
|
matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
|
|
} |