Skip to main content

approve_if

Function approve_if 

Source
pub fn approve_if<F>(predicate: F) -> Arc<dyn PermissionHandler>
where F: Fn(&PermissionRequestData) -> bool + Send + Sync + 'static,
Expand description

Return a PermissionHandler that consults a predicate for each request. true approves, false denies.

let handler = permission::approve_if(|data| {
    data.extra.get("tool").and_then(|v| v.as_str()) != Some("shell")
});