feat: version 4.12.0 -- Conexiones externas: pacientes de SAGA, empleados de nomina y medicos

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Milton Gonzalez
2026-10-29 17:06:10 -05:00
parent fabe5b530d
commit 0ee9ed65bf
43 changed files with 1402 additions and 69 deletions
+6 -4
View File
@@ -1,4 +1,4 @@
# Conector FoxPro 1.0.0
# Conector FoxPro 1.1.0
API de solo lectura para tablas FoxPro/Visual FoxPro (`.dbf` con memo `.fpt`), según el contrato
v1 de [`../README.md`](../README.md). Node.js sin servidor web adicional; única dependencia: `dbffile`.
@@ -7,14 +7,16 @@ v1 de [`../README.md`](../README.md). Node.js sin servidor web adicional; única
copia, así no choca con los bloqueos de SAGA. Si FoxPro tiene la tabla en uso exclusivo → `423`.
- El índice `.cdx` no se usa (se recorre la tabla). Las tablas se guardan en caché y la caché se
renueva sola cuando cambia el archivo.
- Tablas que el origen escribe todo el día: no se recopian más de una vez cada `limits.minReloadSeconds`
(60 por defecto).
- Tipos soportados: C, N, F, Y, I, L, D, T, B, M. Otros (V, Q, W…) se omiten.
## Instalación en el Windows (`C:\api_project\foxpro`)
1. Copiar esta carpeta a `C:\api_project\foxpro` **con** `node_modules` (no requiere internet en el
server). Sin `config.json` ni `logs` de otro equipo.
2. Node: copiar `node.exe` portable (Node 20 LTS o superior, Windows x64) a
`C:\api_project\foxpro\node\node.exe`. Así no hay que instalar Node en el servidor.
2. Node: usa el Node instalado en el servidor (Exilaser tiene Node 24); si no hay, copiar `node.exe`
portable (Node 20+ x64) a `C:\api_project\foxpro\node\node.exe`.
3. Token: `node\node.exe scripts\generar-token.js`. El **TOKEN** se carga en el sistema; el
**tokenSha256** va en `config.json`.
4. `config.json` (a partir de `config.example.json`):
@@ -40,5 +42,5 @@ Logs: `logs\acceso-AAAA-MM-DD.log` (sin tokens ni valores buscados).
## Desarrollo
- `npm test`: crea una tabla DBF temporal, levanta el conector y valida el contrato (16 pruebas).
- `npm test`: crea una tabla DBF temporal, levanta el conector y valida el contrato (19 pruebas).
- `npm run token`: genera token + hash.