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 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: '/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;
|
|
|
|
}
|