feat: enable changed events
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user