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

Function convertQuery

coderd/rbac/regosql/compile.go:63–77  ·  view source on GitHub ↗
(cfg ConvertConfig, q ast.Body)

Source from the content-addressed store, hash-verified

61}
62
63func convertQuery(cfg ConvertConfig, q ast.Body) (sqltypes.BooleanNode, error) {
64 var expressions []sqltypes.BooleanNode
65 for _, e := range q {
66 exp, err := convertExpression(cfg, e)
67 if err != nil {
68 return nil, xerrors.Errorf("expression %s: %w", e.String(), err)
69 }
70
71 expressions = append(expressions, exp)
72 }
73
74 // All expressions in a single query are AND'd together. This means that
75 // all expressions must be true for the user to have access.
76 return sqltypes.And(sqltypes.RegoSource(q.String()), expressions...), nil
77}
78
79func convertExpression(cfg ConvertConfig, e *ast.Expr) (sqltypes.BooleanNode, error) {
80 if e.IsCall() {

Callers 1

ConvertRegoAstFunction · 0.85

Calls 5

AndFunction · 0.92
RegoSourceTypeAlias · 0.92
convertExpressionFunction · 0.85
ErrorfMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected