← back to index

U12 — Cpanel "Unlink Odoo" cleanupPROD

Architecture cleanup. Retired the legacy DELETE /admin/tenants/:id/cafe-config endpoint (Starter-safe, NOT Pro-safe) and the dead Vue function that referenced it. POST /unlink-pause (Slice P 2026-05-19) is now the ONLY unlink path — safe on every tier. Cpanel UI was already using it; this is the cleanup that closes the foot-gun for any external caller.

Summary

Status
4/4 prod · 51/51 regression = 55/55 · shipped
Commits
nix-outdoor-sales-backend 3a5f92e · nix-outdoor-sales-admin 67619f7
Files
2 modified · ~30 LOC net deletion · no migration · no schema · no feature change

What shipped

4/4 prod checks

DELETE /admin/tenants/:id/cafe-config → 401 (admin middleware blocks anonymous before route lookup)
POST /admin/tenants/:id/cafe-config/unlink-pause → 401 (auth gate intact)
GET /admin/tenants/:id/cafe-config → 401 (sibling endpoint sanity)
PATCH /admin/tenants/:id/cafe-config → 401 (sibling endpoint sanity)

Test-design note: router.use(adminAuthMiddleware) is mounted at the router level, so the auth middleware fires BEFORE route lookup. An anonymous DELETE probe can't distinguish "endpoint removed" from "endpoint exists, auth required" — both return 401. Gate 1's source-grep is the load-bearing evidence the handler is gone. The prod test just confirms the backend deployed cleanly and the request still passes through the expected middleware layer for all 4 verbs.

Regression sweep — 51/51

4/4 + 51/51 = 55/55 prod tests green on the karouna-dev branch.
test-phase1-prod.mjs11/11
test-phase2-sso-outdoor-prod.mjs6/6
test-m1-prod.mjs10/10
test-r7-prod.mjs14/14
test-r8-prod.mjs4/4
test-phase2-cafe-multishop-prod.mjs (solo)6/6