Signed-off-by: Lukas Wagner <l.wag...@proxmox.com> --- pve-rs/src/notify.rs | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-)
diff --git a/pve-rs/src/notify.rs b/pve-rs/src/notify.rs index 9677d8b..74a872b 100644 --- a/pve-rs/src/notify.rs +++ b/pve-rs/src/notify.rs @@ -2,10 +2,10 @@ mod export { use anyhow::{bail, Error}; use perlmod::Value; - + use serde_json::Value as JSONValue; use std::sync::Mutex; - use proxmox_notify::Config; + use proxmox_notify::{api, api::ApiError, Config, Notification, Severity}; pub struct NotificationConfig { config: Mutex<Config>, @@ -68,4 +68,34 @@ mod export { let config = this.config.lock().unwrap(); hex::encode(config.digest()) } + + #[export(serialize_error)] + fn send( + #[try_from_ref] this: &NotificationConfig, + channel: &str, + severity: Severity, + title: String, + body: String, + properties: Option<JSONValue>, + ) -> Result<(), ApiError> { + let config = this.config.lock().unwrap(); + + let notification = Notification { + severity, + title, + body, + properties, + }; + + api::common::send(&config, channel, ¬ification) + } + + #[export(serialize_error)] + fn test_target( + #[try_from_ref] this: &NotificationConfig, + target: &str, + ) -> Result<(), ApiError> { + let config = this.config.lock().unwrap(); + api::common::test_target(&config, target) + } } -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel