export async function middleware(request) {
const routes = await fetchAdditionalUrlsFromCookies(request);
const isExist = routes?.find(item => item == request.nextUrl.pathname)
if (await IsAuth(request)) {
if (isExist) {
return NextResponse.next()
}else {
const loginUrl = new URL('/404', request.url)
return NextResponse.redirect(loginUrl)
}
}
const loginUrl = new URL('/login', request.url)
return NextResponse.redirect(loginUrl)
}
async function fetchAdditionalUrlsFromCookies(request) {
const permissionPathsCookie = request.cookies.get("permissionPaths");
if (permissionPathsCookie) {
const urlpaths = JSON.parse(permissionPathsCookie.value);
return urlpaths;
}
}