Olympus/frontend/athena/proxy.ts

29 lines
681 B
TypeScript

import { NextRequest, NextResponse } from "next/server";
export function proxy(request: NextRequest) {
const token = request.cookies.get("access_token");
const isLoginPage = request.nextUrl.pathname === "/login";
if (isLoginPage && token) {
return NextResponse.redirect(new URL("/dashboard", request.url));
}
if (!isLoginPage && !token) {
return NextResponse.redirect(new URL("/login", request.url));
}
return NextResponse.next();
}
export const config = {
matcher: [
"/login",
"/dashboard/:path*",
"/users/:path*",
"/roles/:path*",
"/customers/:path*",
"/repairs/:path*",
"/backups/:path*",
"/settings/:path*",
],
};