(input: &FirewallRuleList)
| 381 | } |
| 382 | |
| 383 | pub fn get_rules(input: &FirewallRuleList) -> Result<FirewallRuleList, FirewallError> { |
| 384 | if input.rules.is_empty() { |
| 385 | return Err(t!("get.rulesArrayEmpty").to_string().into()); |
| 386 | } |
| 387 | |
| 388 | let store = FirewallStore::open()?; |
| 389 | let mut results = Vec::new(); |
| 390 | |
| 391 | for desired in &input.rules { |
| 392 | if desired.selector_name().is_none() { |
| 393 | return Err(t!("get.selectorRequired").to_string().into()); |
| 394 | } |
| 395 | |
| 396 | match store.find_by_selector(desired)? { |
| 397 | Some(rule) => results.push(rule_to_model(&rule)?), |
| 398 | None => results.push(desired.missing_from_input()), |
| 399 | } |
| 400 | } |
| 401 | |
| 402 | Ok(FirewallRuleList { rules: results }) |
| 403 | } |
| 404 | |
| 405 | pub fn set_rules(input: &FirewallRuleList) -> Result<FirewallRuleList, FirewallError> { |
| 406 | if input.rules.is_empty() { |
no test coverage detected