OneLauncher-Cracked/packages/core/src/api/proxy/event.rs

27 lines
729 B
Rust

use serde::Serialize;
use crate::{error::LauncherResult, store::proxy::ProxyState};
#[onelauncher_macro::specta(with_event)]
#[derive(Debug, Serialize)]
pub enum LauncherEvent {
Ingress(crate::api::ingress::IngressPayload),
Message(crate::api::proxy::message::MessagePayload),
Process(crate::api::processes::ProcessPayload),
}
pub async fn send_event(event: LauncherEvent) {
let Ok(proxy) = ProxyState::get() else {
tracing::error!("failed to get proxy state");
return;
};
if let Err(e) = proxy.send_event(event).await {
tracing::error!("failed to send event: {e}");
}
}
pub async fn try_send_event(event: LauncherEvent) -> LauncherResult<()> {
let proxy = ProxyState::get()?;
proxy.send_event(event).await
}