2025-01-07 02:29:29 +08:00
|
|
|
import { BusterAuthRoutes } from '@/routes/busterRoutes/busterAuthRoutes';
|
|
|
|
import { BusterRoutes, createPathnameToBusterRoute } from '@/routes/busterRoutes/busterRoutes';
|
|
|
|
import { NextRequest } from 'next/server';
|
|
|
|
|
|
|
|
const assetCheckPages: BusterRoutes[] = [
|
2025-02-01 06:21:50 +08:00
|
|
|
BusterRoutes.APP_METRIC_ID,
|
2025-01-07 02:29:29 +08:00
|
|
|
BusterRoutes.APP_DASHBOARD_ID,
|
2025-02-01 06:21:50 +08:00
|
|
|
BusterRoutes.APP_DASHBOARD_METRICS_ID
|
2025-01-07 02:29:29 +08:00
|
|
|
];
|
|
|
|
|
|
|
|
const publicPages: BusterRoutes[] = [
|
2025-02-01 06:21:50 +08:00
|
|
|
BusterRoutes.APP_METRIC_ID,
|
2025-01-07 02:29:29 +08:00
|
|
|
BusterRoutes.APP_DASHBOARD_ID,
|
2025-02-01 06:21:50 +08:00
|
|
|
BusterRoutes.APP_DASHBOARD_METRICS_ID,
|
2025-01-07 02:29:29 +08:00
|
|
|
...Object.values(BusterAuthRoutes)
|
|
|
|
];
|
|
|
|
|
|
|
|
export const isPublicPage = (request: NextRequest): boolean => {
|
|
|
|
const route = request.nextUrl.pathname;
|
|
|
|
const matchedRoute = createPathnameToBusterRoute(route);
|
|
|
|
return publicPages.some((page) => page === matchedRoute);
|
|
|
|
};
|
|
|
|
|
|
|
|
export const assetPermissionCheck = (request: NextRequest): boolean => {
|
|
|
|
const route = request.nextUrl.pathname;
|
|
|
|
const matchedRoute = createPathnameToBusterRoute(route);
|
|
|
|
return assetCheckPages.includes(matchedRoute);
|
|
|
|
};
|