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

Function ensure_deny_rule

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

Source from the content-addressed store, hash-verified

201}
202
203pub(crate) fn ensure_deny_rule(raw: &mut serde_json::Map<String, serde_json::Value>) -> bool {
204 let permissions = raw
205 .entry("permissions".to_string())
206 .or_insert_with(|| serde_json::json!({}));
207
208 let Some(permissions_obj) = permissions.as_object_mut() else {
209 return false;
210 };
211
212 let deny = permissions_obj
213 .entry("deny".to_string())
214 .or_insert_with(|| serde_json::json!([]));
215
216 let Some(deny_arr) = deny.as_array_mut() else {
217 return false;
218 };
219
220 let rule_value = serde_json::Value::String(METADATA_DENY_RULE.to_string());
221 if deny_arr.contains(&rule_value) {
222 return false;
223 }
224
225 deny_arr.push(rule_value);
226 true
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 {

Calls 2

containsMethod · 0.45
pushMethod · 0.45