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' import PageCargaArchivoGTFS from '$/pages/gtfs_upload/Admin.svelte' 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"; import { getPermisosApp } from '$/services/usuarios' import { storePermisos } from '$/stores/global' export const routes_base = [ { path: '/', component: PageHome, public: true }, { path: '/perfil', component: PagePerfil, public: true }, { path: '/aplicaciones', component: PageAplicaciones }, { path: '/red-transporte', component: PageRedTransporte }, { path: '/gtfs-archivo', component: PageArchivoGTFS }, // { path: '/gtfs-upload', component: PageCargaArchivoGTFS }, { path: '/operadores', component: PageOperador }, { 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 }, { 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; }