hoelee
266a3442c8
fix(W2): graceful skip when customer link not yet filled (no crash)
...
When CP record is drafted with product set before customer,
the webhook fires with customerId=null -> now returns
skipWriteBack=true (routed to No-op) instead of throwing.
Record re-fires webhook properly once customer field is set.
2026-08-23 02:41:54 +08:00
hoelee
a907a85a57
feat(W3): expiry sync / full reconciliation sweep (schedule */5) + design + tested compute
...
- Single Code-node sweep: desired = CP-active paths UNION active AccessGrants;
expiry excluded -> role/update rewrite; optional auto-disable (env-gated, default off)
- disable guard: only when had scopes before (never fresh empty-role customer)
- loop guard: no NocoDB Customers.status flip (avoids W1 re-provision loop)
- test_w3.js mock-verified both AUTO_DISABLE modes; gen_w3.js builds JSON from w3-compute.js
2026-08-23 01:58:58 +08:00
hoelee
543f4a7885
docs: add credentials quick-reference (local use only; redact before pushing to Gitea)
2026-08-23 00:48:15 +08:00
hoelee
7ff0fa1120
docs: update PROJECT_STATE with session bug fixes; add alist-serve-resource skill
2026-08-23 00:42:47 +08:00
hoelee
87a120431f
fix(W1): Load Env use $env (not process.env) — matches live n8n working version
2026-08-23 00:40:03 +08:00
hoelee
3f3306ba46
fix(W2): query active CPs via customer.Id (not customer display name) — was returning 0 rows -> empty scopes
2026-08-23 00:34:16 +08:00
hoelee
813ca6a2b6
docs: reinforce base_path=/ rule as ops invariant in API_INTEGRATION
2026-08-23 00:10:45 +08:00
hoelee
7518f8c32e
fix(W1): base_path hardcode to / (was /Class causing JoinPath double-prefix -> 403)
2026-08-23 00:10:26 +08:00
hoelee
160169e6f2
Fix W1/W2 webhook loop (skip-if-already-synced guard) + fix W2 link API alist_path bug
2026-08-22 22:34:27 +08:00
hoelee
71acb88078
Phase 1-3: AList stock deployment, NocoDB 7-table schema, W1/W2 n8n workflows + docs
2026-08-22 19:26:06 +08:00