fix(ui): подтверждать применение OSPF и согласовать права

This commit is contained in:
Denozordec committed 2026-09-30 22:56:31 +07:00
1 parent bf2815b5a4
commit c88e1400bf
8 files changed
+147 -35

No files matched your search

+5
View File
@@ -61,4 +61,9 @@ assert.equal(hasPermission(["mm:settings:admin"], "mm:users:read"), true)
assert.equal(hasPermission(["mm:settings:admin"], "mm:users:write"), true)
assert.equal(hasPermission(["mm:dashboard:read"], "mm:users:write"), false)
assert.equal(permissionForRequest("GET","/api/servers/1/ospf"),"mm:network:read")
assert.equal(permissionForRequest("POST","/api/servers/1/ospf/optimize/preview?x=1"),"mm:network:read")
assert.equal(permissionForRequest("POST","/api/servers/1/ospf/optimize"),"mm:network:write")
assert.equal(permissionForRequest("POST","/api/servers/1/ospf/optimize/preview/extra"),"mm:network:write")
assert.equal(permissionForRequest("PUT","/api/servers/1"),"mm:servers:write")
console.log("permissions.test.ts: ok")
+16
View File
@@ -42,6 +42,22 @@ type Rule = {
}
const RULES: Rule[] = [
{
methods: ["GET"],
match: p => /^\/api\/servers\/\d+\/ospf(?:\/|$)/.test(p),
permission: "mm:network:read",
},
{
methods: ["POST"],
match: p => /^\/api\/servers\/\d+\/ospf\/optimize\/preview$/.test(p),
permission: "mm:network:read",
},
{
methods: ["POST", "PUT", "PATCH", "DELETE"],
match: p => /^\/api\/servers\/\d+\/ospf(?:\/|$)/.test(p),
permission: "mm:network:write",
},
{
methods: ["GET", "POST", "PUT", "PATCH", "DELETE"],
match: (p) =>