weekmeal

Nodo n8n para interactuar con la API de WeekMeal

Package Information

Downloads: 5 weekly / 24 monthly
Latest Version: 0.3.0
Author: Bruno Felix

Documentation

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.json usando @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 admin@example.com
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ático

Instalació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-nodes

Para producción, simplemente construye la imagen:

docker compose build
docker compose up -d

Desarrollo local

Requisitos

  • Node.js v22+
  • npm

Pasos

# 1. Instalar dependencias
npm install

# 2. Compilar
npm run build

# 3. Desarrollar con hot reload
npm run dev

Scripts 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 build

Estructura 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

Licencia

MIT

Discussion