forked from Proxmox/proxmox
notify: give each notification a unique ID
We need this for queuing notifications on PBS from the unprivileged proxy process. Signed-off-by: Lukas Wagner <l.wagner@proxmox.com> Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
efb576385b
commit
e83269be1d
@ -28,6 +28,7 @@ proxmox-section-config = { workspace = true }
|
|||||||
proxmox-serde.workspace = true
|
proxmox-serde.workspace = true
|
||||||
proxmox-sys = { workspace = true, optional = true }
|
proxmox-sys = { workspace = true, optional = true }
|
||||||
proxmox-time.workspace = true
|
proxmox-time.workspace = true
|
||||||
|
proxmox-uuid = { workspace = true, features = ["serde"] }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["sendmail", "gotify", "smtp"]
|
default = ["sendmail", "gotify", "smtp"]
|
||||||
|
@ -10,6 +10,7 @@ use serde_json::Value;
|
|||||||
|
|
||||||
use proxmox_schema::api;
|
use proxmox_schema::api;
|
||||||
use proxmox_section_config::SectionConfigData;
|
use proxmox_section_config::SectionConfigData;
|
||||||
|
use proxmox_uuid::Uuid;
|
||||||
|
|
||||||
pub mod matcher;
|
pub mod matcher;
|
||||||
use crate::config::CONFIG;
|
use crate::config::CONFIG;
|
||||||
@ -198,6 +199,8 @@ pub struct Notification {
|
|||||||
content: Content,
|
content: Content,
|
||||||
/// Metadata
|
/// Metadata
|
||||||
metadata: Metadata,
|
metadata: Metadata,
|
||||||
|
/// Unique ID
|
||||||
|
id: Uuid,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Notification {
|
impl Notification {
|
||||||
@ -217,6 +220,7 @@ impl Notification {
|
|||||||
template_name: template_name.as_ref().to_string(),
|
template_name: template_name.as_ref().to_string(),
|
||||||
data: template_data,
|
data: template_data,
|
||||||
},
|
},
|
||||||
|
id: Uuid::generate(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[cfg(feature = "mail-forwarder")]
|
#[cfg(feature = "mail-forwarder")]
|
||||||
@ -246,8 +250,14 @@ impl Notification {
|
|||||||
additional_fields,
|
additional_fields,
|
||||||
timestamp: proxmox_time::epoch_i64(),
|
timestamp: proxmox_time::epoch_i64(),
|
||||||
},
|
},
|
||||||
|
id: Uuid::generate(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Return the unique ID of this notification.
|
||||||
|
pub fn id(&self) -> &Uuid {
|
||||||
|
&self.id
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Notification configuration
|
/// Notification configuration
|
||||||
@ -548,6 +558,7 @@ impl Bus {
|
|||||||
template_name: "test".to_string(),
|
template_name: "test".to_string(),
|
||||||
data: json!({ "target": target }),
|
data: json!({ "target": target }),
|
||||||
},
|
},
|
||||||
|
id: Uuid::generate(),
|
||||||
};
|
};
|
||||||
|
|
||||||
if let Some(endpoint) = self.endpoints.get(target) {
|
if let Some(endpoint) = self.endpoints.get(target) {
|
||||||
|
Loading…
Reference in New Issue
Block a user