| .. | ||
| invima | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| APIinvima.js | ||
| APIinvima.json | ||
| comando.sql | ||
| comandos en pgadmin4.txt | ||
| comandos.txt | ||
| databasepg.js | ||
| Diagrama_Excel_DATABASE.xlsx | ||
| login_test.json | ||
| package-lock.json | ||
| package.json | ||
| PRIMER_AVANCE_BASE_DATOS.docx | ||
| PRIMER_AVANCE_BASE_DATOS.pdf | ||
| Productos.csv | ||
| Productos.ods | ||
| products_comands.py | ||
| README.md | ||
| REGISTROS_SANITARIOS_DE_DISPOSITIVOS_MÉDICOS_Y_OTRAS_TECNOLOGÍAS_20251026.csv | ||
| server.js | ||
INVIMA API (Version Modular)
Backend modular con:
- autenticacion por usuario/contrasena (
/api/auth/*) - sincronizacion INVIMA por Socrata
- catalogo optimizado con filtros y categorias canonicas
Requisitos
- Node.js 18+
- PostgreSQL
Instalacion
npm install
Configuracion
- Copia
.env.examplea.env. - Ajusta credenciales de BD y variables de auth.
Ejecutar
npm run dev
Endpoints
Salud
GET /api/health
Auth
POST /api/auth/loginbody:{ "identifier": "admin", "password": "Admin123*" }GET /api/auth/me(Bearer token)POST /api/auth/logout(Bearer token)
INVIMA (requieren Bearer token)
GET /api/invima/datasetsGET /api/invima/categoriasGET /api/invima/filtrosPOST /api/invima/syncGET /api/invima/catalogoGET /api/invima/catalogo/export?format=csv|xlsx
Mejoras aplicadas
- Eliminado flujo legacy de
productosyregistros. - Catalogo unico con categoria canonica (
categoria_canonica) y slug (categoria_slug). - Indices para busqueda:
GIN to_tsvectorsobresearch_text- indices por categoria, dataset, estado, modalidad, grupo y fechas
- trigram opcional si
pg_trgmesta disponible
- Filtros adicionales:
grupos,fechas,onlyVigentes,datasets,categorias.