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
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:
@@ -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. */
|
||||
|
||||
Reference in New Issue
Block a user