()
| 154 | } |
| 155 | |
| 156 | func (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 | |
| 191 | func (s Scope) regoValue() ast.Value { |
| 192 | r, ok := s.Role.regoValue().(ast.Object) |
no test coverage detected