feat: enable changed events

This commit is contained in:
2026-01-06 12:46:44 +01:00
parent 2348c27d8b
commit 0c318ebddb
2 changed files with 22 additions and 1 deletions

View File

@@ -6,7 +6,8 @@ use tokio::sync::RwLock;
use crate::{
manifests::{
Manifest, ManifestLease, ManifestState, ManifestStatus, ManifestStatusState, WorkerId,
Manifest, ManifestChangeEvent, ManifestChangeEventType, ManifestLease, ManifestState,
ManifestStatus, ManifestStatusState, WorkerId,
},
Specification,
};
@@ -119,6 +120,10 @@ impl<T: Specification> BackingStore<T> {
status: ManifestStatus {
status: ManifestStatusState::Pending,
events: Vec::default(),
changes: vec![ManifestChangeEvent {
created: now,
event: ManifestChangeEventType::Changed,
}],
},
created: now,
updated: now,

View File

@@ -42,6 +42,8 @@ where
pub struct ManifestStatus {
pub status: ManifestStatusState,
pub events: Vec<ManifestEvent>,
pub changes: Vec<ManifestChangeEvent>,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
@@ -53,6 +55,20 @@ pub enum ManifestStatusState {
Deleting,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct ManifestChangeEvent {
pub created: jiff::Timestamp,
pub event: ManifestChangeEventType,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum ManifestChangeEventType {
Created,
Changed,
Deleted,
}
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct ManifestEvent {
pub owner: WorkerId,