1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use crate::acme::AcmeInfo;
use crate::app::AppConfig;
use crate::cert::CertInfo;
use crate::port::PortStatus;
use crate::{port::PortEntry, site::ProxyEntry};
use serde_derive::{Deserialize, Serialize};
use utoipa::ToSchema;

#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
#[serde(rename_all = "snake_case", tag = "event")]
pub enum ServerEvent {
    AppConfigUpdated { config: AppConfig },
    PortTableUpdated { entries: Vec<PortEntry> },
    PortStatusUpdated { id: String, status: PortStatus },
    CertsUpdated { entries: Vec<CertInfo> },
    ProxiesUpdated { entries: Vec<ProxyEntry> },
    AcmeUpdated { entries: Vec<AcmeInfo> },
    Shutdown,
}