You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rego中编写规则实现{key:[values]}到{value:[keys]}的对象转换

Rego权限映射转换规则

完整实现代码

package perm_reverse

# 默认返回空对象
default output = {}

output := {server: permissions |
    # 遍历所有权限类型(read/write/create)
    some perm_type
    # 遍历当前权限下绑定的所有服务器
    server := input[perm_type][_]
    # 收集该服务器拥有的所有权限
    permissions := [p |
        some p
        server == input[p][_]
    ]
}

实现逻辑说明

  • 外层采用对象推导式生成最终的映射结构:以服务器名称为键,权限列表为值
  • 内层采用数组推导式完成权限筛选:遍历所有权限类型,匹配当前服务器所属的权限,最终组成权限数组
    你可以直接将你的输入对象传入该规则,执行后即可得到符合要求的输出结果。

内容的提问来源于stack exchange,提问作者Sergey Bulavkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:36:04