(record: &PolicyRecord)
| 286 | } |
| 287 | |
| 288 | pub fn policy_payload_from_record(record: &PolicyRecord) -> PersistenceResult<Vec<u8>> { |
| 289 | let policy = ProtoSandboxPolicy::decode(record.policy_payload.as_slice()).map_err(|e| { |
| 290 | crate::persistence::PersistenceError::Decode(format!("decode policy payload failed: {e}")) |
| 291 | })?; |
| 292 | Ok(PolicyRevisionPayload { |
| 293 | policy: Some(policy), |
| 294 | hash: record.policy_hash.clone(), |
| 295 | load_error: record.load_error.clone().unwrap_or_default(), |
| 296 | loaded_at_ms: record.loaded_at_ms.unwrap_or(0), |
| 297 | } |
| 298 | .encode_to_vec()) |
| 299 | } |
| 300 | |
| 301 | pub fn policy_record_from_parts( |
| 302 | id: String, |
no test coverage detected