gotenberg_pdf/
health.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4pub struct Health {
5    pub status: HealthStatus,
6    pub details: HealthDetails,
7}
8
9#[derive(Debug, Serialize, Deserialize)]
10#[serde(rename_all = "lowercase")]
11pub enum HealthStatus {
12    Up,
13    Down,
14}
15
16#[derive(Debug, Serialize, Deserialize)]
17pub struct HealthDetails {
18    pub chromium: ModuleHealth,
19    pub libreoffice: ModuleHealth,
20}
21
22#[derive(Debug, Serialize, Deserialize)]
23pub struct ModuleHealth {
24    /// Up / Down Status
25    pub status: HealthStatus,
26
27    /// ISO 8601 timestamp
28    pub timestamp: String,
29
30    /// If status is `Down`, this field will contain the error message
31    #[serde(skip_serializing_if = "Option::is_none")]
32    #[serde(default)]
33    pub error: Option<String>,
34}