(value: &serde_json::Value, uris: &mut Vec<String>)
| 498 | } |
| 499 | |
| 500 | fn collect_artifact_uris(value: &serde_json::Value, uris: &mut Vec<String>) { |
| 501 | match value { |
| 502 | serde_json::Value::Object(object) => { |
| 503 | if let Some(uri) = object.get("artifact_uri").and_then(|value| value.as_str()) { |
| 504 | uris.push(uri.to_string()); |
| 505 | } |
| 506 | for value in object.values() { |
| 507 | collect_artifact_uris(value, uris); |
| 508 | } |
| 509 | } |
| 510 | serde_json::Value::Array(items) => { |
| 511 | for value in items { |
| 512 | collect_artifact_uris(value, uris); |
| 513 | } |
| 514 | } |
| 515 | _ => {} |
| 516 | } |
| 517 | } |
| 518 | |
| 519 | #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] |
| 520 | pub struct VerificationSummary { |
no test coverage detected