MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / remove_deny_rule

Function remove_deny_rule

atomic-agent/src/hooks/claude_code/settings.rs:229–252  ·  view source on GitHub ↗
(raw: &mut serde_json::Map<String, serde_json::Value>)

Source from the content-addressed store, hash-verified

227}
228
229pub(crate) fn remove_deny_rule(raw: &mut serde_json::Map<String, serde_json::Value>) {
230 let Some(permissions) = raw.get_mut("permissions") else {
231 return;
232 };
233 let Some(permissions_obj) = permissions.as_object_mut() else {
234 return;
235 };
236 let Some(deny) = permissions_obj.get_mut("deny") else {
237 return;
238 };
239 let Some(deny_arr) = deny.as_array_mut() else {
240 return;
241 };
242
243 let rule_value = serde_json::Value::String(METADATA_DENY_RULE.to_string());
244 deny_arr.retain(|v| v != &rule_value);
245
246 if deny_arr.is_empty() {
247 permissions_obj.remove("deny");
248 }
249 if permissions_obj.is_empty() {
250 raw.remove("permissions");
251 }
252}

Calls 3

get_mutMethod · 0.80
removeMethod · 0.65
is_emptyMethod · 0.45