MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / check

Function check

nodedb/src/control/security/predicate_parser.rs:377–397  ·  view source on GitHub ↗
(pred: &RlsPredicate, known: &[&str])

Source from the content-addressed store, hash-verified

375 ];
376
377 fn check(pred: &RlsPredicate, known: &[&str]) -> crate::Result<()> {
378 match pred {
379 RlsPredicate::Compare { value, .. } => check_value(value, known),
380 RlsPredicate::Contains { set, element } => {
381 check_value(set, known)?;
382 check_value(element, known)
383 }
384 RlsPredicate::Intersects { left, right } => {
385 check_value(left, known)?;
386 check_value(right, known)
387 }
388 RlsPredicate::And(children) | RlsPredicate::Or(children) => {
389 for child in children {
390 check(child, known)?;
391 }
392 Ok(())
393 }
394 RlsPredicate::Not(inner) => check(inner, known),
395 RlsPredicate::AlwaysTrue | RlsPredicate::AlwaysFalse => Ok(()),
396 }
397 }
398
399 fn check_value(val: &PredicateValue, known: &[&str]) -> crate::Result<()> {
400 match val {

Callers 1

validate_auth_refsFunction · 0.70

Calls 1

check_valueFunction · 0.85

Tested by

no test coverage detected