Update CDN Manager: Add integration for new settings route, enhance permissions for nodes and aliases, and improve Docker configuration documentation. Update UI components for better navigation and user experience.
quality / commitlint (push) Skipped
CD / update-wiki (push) Successful in 6s
quality / changes (push) Successful in 5s
quality / docker-check (push) Skipped
quality / web (push) Successful in 56s
quality / api (push) Successful in 41s
CD / quality (push) Successful in 1m47s
CD / publish (push) Successful in 33s

This commit is contained in:
Denozordec
2026-09-04 13:11:33 +07:00
parent 8700dc2957
commit dd3c378b5f
18 changed files with 788 additions and 5 deletions
+49
View File
@@ -44,6 +44,55 @@ const RULES: Rule[] = [
match: (p) => p.startsWith("/api/v1/settings"),
permission: "cdn:settings:admin",
},
{
methods: ["GET"],
match: (p) => p.startsWith("/api/v1/dashboard"),
permission: "cdn:dashboard:read",
},
{
methods: ["GET"],
match: (p) => p === "/api/v1/topology",
permission: "cdn:topology:read",
},
{
methods: ["GET"],
match: (p) =>
p.startsWith("/api/v1/nodes") || p.startsWith("/api/v1/locations"),
permission: "cdn:nodes:read",
},
{
methods: ["POST", "PUT", "PATCH", "DELETE"],
match: (p) => p.startsWith("/api/v1/nodes"),
permission: "cdn:nodes:write",
},
{
methods: ["GET"],
match: (p) => p.startsWith("/api/v1/aliases"),
permission: "cdn:aliases:read",
},
{
methods: ["POST", "PUT", "PATCH", "DELETE"],
match: (p) => p.startsWith("/api/v1/aliases"),
permission: "cdn:aliases:write",
},
{
methods: ["POST"],
match: (p) =>
/\/api\/v1\/zones\/[^/]+\/(sync|apply)/.test(p) ||
p.includes("/ignored-orphans"),
permission: "cdn:sync:write",
},
{
methods: ["GET"],
match: (p) =>
p.startsWith("/api/v1/zones") || p.startsWith("/api/v1/cloudflare"),
permission: "cdn:zones:read",
},
{
methods: ["POST", "PUT", "PATCH", "DELETE"],
match: (p) => p.startsWith("/api/v1/zones"),
permission: "cdn:zones:write",
},
];
/** Resolve required permission for method+path, or null if public / unknown. */