(
store: &Store,
object_type: &str,
name: &str,
)
| 3746 | } |
| 3747 | |
| 3748 | async fn load_settings_record( |
| 3749 | store: &Store, |
| 3750 | object_type: &str, |
| 3751 | name: &str, |
| 3752 | ) -> Result<StoredSettings, Status> { |
| 3753 | let record = store |
| 3754 | .get_by_name(object_type, name) |
| 3755 | .await |
| 3756 | .map_err(|e| Status::internal(format!("fetch settings failed: {e}")))?; |
| 3757 | if let Some(record) = record { |
| 3758 | let mut settings = serde_json::from_slice::<StoredSettings>(&record.payload) |
| 3759 | .map_err(|e| Status::internal(format!("decode settings payload failed: {e}")))?; |
| 3760 | // Populate resource_version from database record for CAS |
| 3761 | settings.resource_version = record.resource_version; |
| 3762 | Ok(settings) |
| 3763 | } else { |
| 3764 | Ok(StoredSettings::default()) |
| 3765 | } |
| 3766 | } |
| 3767 | |
| 3768 | async fn save_settings_record( |
| 3769 | store: &Store, |
no test coverage detected