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

View File

@@ -42,6 +42,8 @@ where
pub struct ManifestStatus { pub struct ManifestStatus {
pub status: ManifestStatusState, pub status: ManifestStatusState,
pub events: Vec<ManifestEvent>, pub events: Vec<ManifestEvent>,
pub changes: Vec<ManifestChangeEvent>,
} }
#[derive(Clone, Debug, Serialize, Deserialize)] #[derive(Clone, Debug, Serialize, Deserialize)]
@@ -53,6 +55,20 @@ pub enum ManifestStatusState {
Deleting, 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)] #[derive(Clone, Debug, Serialize, Deserialize)]
pub struct ManifestEvent { pub struct ManifestEvent {
pub owner: WorkerId, pub owner: WorkerId,