- w5-body.js: 每 product 走 Products→Resources mm link 取 alist_path, 复用 effective-grants 的
'先 fetch 全 Resources 索引 Id→alist_path' 模式 (link API 只返 {Id,name} 不返 alist_path)
- 新增 paths 字段于 purchases[]; 无关联资源返 []
- deploy_w5.mjs: PUT /api/v1/workflows/MNC0BZc1FqCKFwIV 部署脚本
24 lines
873 B
JavaScript
24 lines
873 B
JavaScript
// Deploy regenerated W5 (v30, adds paths) to live n8n via public API.
|
|
// Usage: N8N_API_KEY=... node deploy_w5.mjs
|
|
import { readFile } from "node:fs/promises";
|
|
|
|
const N8N = process.env.N8N_BASE || "http://192.168.137.2:5678";
|
|
const KEY = process.env.N8N_API_KEY;
|
|
if (!KEY) { console.error("N8N_API_KEY env required"); process.exit(1); }
|
|
const H = { "X-N8N-API-KEY": KEY, "Content-Type": "application/json" };
|
|
|
|
const wf = JSON.parse(await readFile("W5-purchase-check.json", "utf-8"));
|
|
delete wf.pinData;
|
|
delete wf.active;
|
|
delete wf.id;
|
|
|
|
// W5 workflow id (live) = MNC0BZc1FqCKFwIV
|
|
const ID = "MNC0BZc1FqCKFwIV";
|
|
const r = await fetch(`${N8N}/api/v1/workflows/${ID}`, {
|
|
method: "PUT", headers: H, body: JSON.stringify(wf),
|
|
});
|
|
const txt = await r.text();
|
|
console.log("W5 PUT", r.status, txt.slice(0, 300));
|
|
if (r.status !== 200) process.exit(1);
|
|
console.log("DEPLOY OK");
|