Files
road-monitoring-ui/src/config/app.routes.ts

45 lines
946 B
TypeScript

import { PERMISSIONS } from '@/constants/permissions';
import { ROUTES } from '@/utils/routes';
export type AppRoute = {
path: string;
permission?: string;
match?: 'exact' | 'prefix';
};
export const appRoutes: AppRoute[] = [
{
path: ROUTES.ROLES,
permission: PERMISSIONS.ROLE.READ,
},
{
path: ROUTES.USERS,
permission: PERMISSIONS.USER.READ,
},
{
path: ROUTES.CLIENTS,
permission: PERMISSIONS.CLIENT.READ,
},
{
path: ROUTES.PLANS,
permission: PERMISSIONS.PLAN.READ,
},
{
path: ROUTES.UPLOAD,
permission: PERMISSIONS.VIDEO.UPLOAD,
},
{
path: ROUTES.TICKET,
permission: PERMISSIONS.TICKET.READ,
match: 'prefix',
},
];
export function getRoutePermission(pathname: string) {
return appRoutes.find((route) =>
route.match === 'prefix'
? pathname === route.path || pathname.startsWith(`${route.path}/`)
: route.path === pathname,
)?.permission;
}