MCPcopy Index your code
hub / github.com/coder/coder / regoValue

Method regoValue

coderd/rbac/astvalue.go:156–189  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

154}
155
156func (role Role) regoValue() ast.Value {
157 if role.cachedRegoValue != nil {
158 return role.cachedRegoValue
159 }
160 byOrgIDMap := ast.NewObject()
161 for k, p := range role.ByOrgID {
162 byOrgIDMap.Insert(ast.StringTerm(k), ast.NewTerm(
163 ast.NewObject(
164 [2]*ast.Term{
165 ast.StringTerm("org"),
166 ast.NewTerm(regoSlice(p.Org)),
167 },
168 [2]*ast.Term{
169 ast.StringTerm("member"),
170 ast.NewTerm(regoSlice(p.Member)),
171 },
172 ),
173 ))
174 }
175 return ast.NewObject(
176 [2]*ast.Term{
177 ast.StringTerm("site"),
178 ast.NewTerm(regoSlice(role.Site)),
179 },
180 [2]*ast.Term{
181 ast.StringTerm("user"),
182 ast.NewTerm(regoSlice(role.User)),
183 },
184 [2]*ast.Term{
185 ast.StringTerm("by_org_id"),
186 ast.NewTerm(byOrgIDMap),
187 },
188 )
189}
190
191func (s Scope) regoValue() ast.Value {
192 r, ok := s.Role.regoValue().(ast.Object)

Callers 1

withCachedRegoValueMethod · 0.95

Calls 1

regoSliceFunction · 0.85

Tested by

no test coverage detected