Recorrido dinamico de las 26 rutas con los 10 roles (260 visitas con navegador real) mas revision estatica de endpoints FE vs BE. Hallazgos y correcciones: - frontend.py: expedientes_recientes no tenia @http.route (el endpoint /expedientes-recientes respondia 404). Se expone con GET + lectura. - auth.py: MEDICO_BLOCKED_PREFIXES hacia match por startswith, asi que /sales_goal quedaba bloqueado para medicos (403 en consola en todas las pantallas por el widget de meta del mes). Ahora el match exige frontera de path (/sales bloquea /sales/x pero no /sales_goal). - Reportes: getCommissions (endpoint admin-only) iba dentro de un Promise.all; el 403 tumbaba todo el tab General para recepcion, gerencia, enfermeria, psicologa, farmacia y lectura. Ahora va en peticion aislada y solo se llama para admin; la seccion de comisiones del tab General solo se renderiza para admin. - Matriz de menus guardada: medico habia quedado fuera de /pacientes y /visitas (los defaults del codigo lo incluyen y los medicos lo necesitan para ver clientes e historial). Restaurado via PUT /roles/permissions (queda en skeen_config_audit). Verificado con navegador: medico entra a /pacientes y /visitas sin 403; recepcion y gerencia cargan /reportes sin error; admin sigue viendo la seccion de comisiones. Usuarios temporales de auditoria eliminados.
React + TypeScript + Vite
This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Oxc
- @vitejs/plugin-react-swc uses SWC
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the Oxlint configuration
If you are developing a production application, we recommend enabling type-aware lint rules by installing oxlint-tsgolint and editing .oxlintrc.json:
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["react", "typescript", "oxc"],
"options": {
"typeAware": true
},
"rules": {
"react/rules-of-hooks": "error",
"react/only-export-components": ["warn", { "allowConstantExport": true }]
}
}
See the Oxlint rules documentation for the full list of rules and categories.