bestool_alertd/http_server/
types.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize)]
4pub struct StatusResponse {
5 pub name: String,
6 pub version: String,
7 pub started_at: String,
8 pub pid: u32,
9}
10
11#[derive(Deserialize)]
12pub struct PauseAlertRequest {
13 pub alert: String,
14 pub until: String,
15}
16
17#[derive(Serialize, Deserialize)]
18pub struct ValidationResponse {
19 pub valid: bool,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub error: Option<String>,
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub error_location: Option<ErrorLocation>,
24 #[serde(skip_serializing_if = "Option::is_none")]
25 pub info: Option<ValidationInfo>,
26}
27
28#[derive(Serialize, Deserialize)]
29pub struct ErrorLocation {
30 pub line: usize,
31 pub column: usize,
32 pub path: String,
33}
34
35#[derive(Serialize, Deserialize)]
36pub struct ValidationInfo {
37 pub enabled: bool,
38 pub interval: String,
39 pub source_type: String,
40 pub targets: usize,
41}
42
43#[derive(Debug, Deserialize)]
44pub struct AlertsQuery {
45 #[serde(default)]
46 pub detail: bool,
47}
48
49#[derive(Debug, Serialize, Deserialize)]
50pub struct AlertStateInfo {
51 pub path: String,
52 pub enabled: bool,
53 pub interval: String,
54 pub triggered_at: Option<String>,
55 pub last_sent_at: Option<String>,
56 pub paused_until: Option<String>,
57 pub always_send: String,
58}