ilab_transporte_frontend/src/routes/user.routes.js

62 lines
2.9 KiB
JavaScript
Raw Normal View History

2023-12-05 10:37:40 -03:00
import PageHome from '$/pages/site/Home.svelte'
import PagePerfil from '$/pages/usuarios/Perfil.svelte'
import PageError from '$/pages/site/Error.svelte'
import PageAplicaciones from '$/pages/aplicaciones/Admin.svelte'
import PageOperador from '$/pages/operadores/Admin.svelte'
import PageRedTransporte from '$/pages/red_transporte/Admin.svelte'
import PageArchivoGTFS from '$/pages/gtfs_archivo/Admin.svelte'
2024-01-30 17:24:22 -03:00
import PageCargaArchivoGTFS from '$/pages/gtfs_upload/Admin.svelte'
2023-12-05 10:37:40 -03:00
import PageUsuarios from '$/pages/usuarios/Admin.svelte'
import PageUsuarioCreate from '$/pages/usuarios/Usuario.svelte'
import PageUsuarioModifica from '$/pages/usuarios/Usuario.svelte'
import PageComunas from '$/pages/comunas/Admin.svelte'
import PagePersonas from '$/pages/personas/Admin.svelte'
import PagePersonaCreate from '$/pages/personas/Persona.svelte'
import PagePersonaModifica from '$/pages/personas/Persona.svelte'
import PageMapaParaderos from '$/pages/mapas/Paraderos.svelte'
import PageMapaRutas from '$/pages/mapas/Rutas.svelte'
import PageRoles from '$/pages/roles/Admin.svelte'
import PageParaderos from '$/pages/paraderos/Home.svelte'
import PageRutas from "$/pages/rutas/Home.svelte";
2024-01-07 13:16:53 -03:00
import { getPermisosApp } from '$/services/usuarios'
import { storePermisos } from '$/stores/global'
2023-12-05 10:37:40 -03:00
2024-01-07 13:16:53 -03:00
export const routes_base = [
{ path: '/', component: PageHome, public: true },
{ path: '/perfil', component: PagePerfil, public: true },
2023-12-05 10:37:40 -03:00
{ path: '/aplicaciones', component: PageAplicaciones },
{ path: '/red-transporte', component: PageRedTransporte },
{ path: '/gtfs-archivo', component: PageArchivoGTFS },
2024-01-30 17:24:22 -03:00
// { path: '/gtfs-upload', component: PageCargaArchivoGTFS },
{ path: '/operadores', component: PageOperador },
2023-12-05 10:37:40 -03:00
{ path: '/usuarios', component: PageUsuarios },
{ path: '/usuarios/nuevo', component: PageUsuarioCreate },
{ path: '/usuarios/:login', component: PageUsuarioModifica },
{ path: '/roles', component: PageRoles },
{ path: '/comunas', component: PageComunas },
{ path: '/personas', component: PagePersonas },
{ path: '/personas/nuevo', component: PagePersonaCreate },
{ path: '/personas/:rut', component: PagePersonaModifica },
{ path: '/mapas/paraderos', component: PageMapaParaderos },
{ path: '/mapas/rutas', component: PageMapaRutas },
{ path: '/paraderos', component: PageParaderos },
{ path: '/rutas', component: PageRutas },
2024-01-07 13:16:53 -03:00
{ path: '*', component: PageError, public: true },
];
export let routes = [];
export async function getRoutes() {
const permisos = await getPermisosApp()
const new_routes = routes_base.map(el => {
if (el.public) return el;
const permiso = permisos.aplicaciones.find(app => el.path.indexOf(app.path_app) === 0) || null;
return permiso ? { ...el, escritura: permiso.escritura } : null;
})
routes = new_routes.filter(el => el !== null)
storePermisos.set(routes.map(el => ({ path: el.path, escritura: el.escritura || false })))
return routes;
}