n8n-nodes-weekmeal
v0.3.0
Published
Nodo n8n para interactuar con la API de WeekMeal
Maintainers
Readme
n8n-nodes-weekmeal
Nodo personalizado de n8n para interactuar con la WeekMeal API (FSH PlayGround).
Genera automáticamente 76 operaciones a partir del documento OpenAPI 3.1.1, agrupadas en 10 recursos:
| Recurso | Descripción | |---------|-------------| | Identity | Autenticación, usuarios, roles, permisos, sesiones, grupos | | Tenants | Gestión de inquilinos, temas y aprovisionamiento | | Profile | Perfiles, condiciones de salud, preferencias, comidas fijas, grupos | | Audits | Registros de auditoría, seguridad, excepciones y resúmenes | | Menus | Creación y gestión de menús semanales | | Recipes | Recetas y su estado | | Runs | Ejecuciones de planificación y eventos | | Shopping | Listas de compra e ítems | | PlayGround | Endpoints de prueba | | Health | Health checks (live / ready) |
Características
- Auto-generado desde
Weekmeal-v1.jsonusando@devlikeapro/n8n-openapi-node - Autenticación JWT automática — el nodo hace login con email/password/tenant, cachea el token y lo refresca antes de que expire, sin intervención manual
- Credenciales simples — solo configuras Base URL, Tenant, Email y Password
- Botón "Probar credenciales" integrado en la UI de n8n
- Icono SVG personalizado con el branding de WeekMeal
Credenciales
Al crear las credenciales en n8n, configura los siguientes campos:
| Campo | Descripción | Ejemplo |
|-------|-------------|---------|
| Base URL | URL base del servidor | https://api.tudominio.com |
| Tenant | Header tenant para multitenant | root |
| Email | Email del usuario | [email protected] |
| Password | Contraseña del usuario | •••••••• |
El nodo gestiona el ciclo de vida del token de forma transparente:
1ª llamada → Login automático → guarda accessToken + refreshToken
Llamadas siguientes → inyecta Bearer token del caché
Token próximo a expirar → refresh automático
Refresh falla → login completo automáticoInstalación en Docker (producción)
El repositorio incluye un Dockerfile multi-stage que compila el nodo e integra en n8n:
# Stage 1: compila TypeScript
FROM node:20-alpine AS builder
...
# Stage 2: imagen final con n8n
FROM n8nio/n8n:2.12.2
...En tu docker-compose.yml, añade la variable de entorno en los servicios n8n-custom y n8n-worker:
environment:
N8N_CUSTOM_EXTENSIONS: "/home/node/custom-nodes"Y el volumen si usas montaje local (desarrollo):
volumes:
- /ruta/absoluta/Weekmeal-n8n-node:/home/node/custom-nodesPara producción, simplemente construye la imagen:
docker compose build
docker compose up -dDesarrollo local
Requisitos
- Node.js v22+
- npm
Pasos
# 1. Instalar dependencias
npm install
# 2. Compilar
npm run build
# 3. Desarrollar con hot reload
npm run devScripts disponibles
| Script | Descripción |
|--------|-------------|
| npm run build | Compila TypeScript → dist/ |
| npm run build:watch | Compilación con watch |
| npm run dev | n8n con el nodo cargado y hot reload |
| npm run lint | Verificar errores de código |
| npm run lint:fix | Corregir errores automáticamente |
Actualizar el Swagger
Cuando la API cambie, reemplaza el archivo y recompila:
# 1. Reemplaza el archivo
cp nuevo-swagger.json nodes/WeekMeal/openapi.json
# 2. Recompila
npm run build
# 3. Reconstruye la imagen Docker (producción)
docker compose buildEstructura del proyecto
├── nodes/
│ └── WeekMeal/
│ ├── WeekMeal.node.ts # Nodo principal
│ ├── openapi.json # Spec OpenAPI 3.1.1
│ └── weekmeal.svg # Icono
├── credentials/
│ └── WeekMealApiCredentials.credentials.ts
├── Dockerfile # Multi-stage build
├── Weekmeal-v1.json # Swagger original (referencia)
└── package.json