openlegends_server/api/server/status/
response.rs

1pub mod error;
2pub use error::Error;
3
4use serde::{Deserialize, Serialize};
5
6#[derive(Serialize, Deserialize, Debug)]
7pub struct Response {
8    online: bool,
9}
10
11impl Response {
12    pub fn build(online: bool) -> Self {
13        Self { online }
14    }
15
16    pub fn from_json(json: &str) -> Result<Self, Error> {
17        match serde_json::from_str::<Response>(json) {
18            Ok(data) => Ok(Self {
19                online: data.online,
20            }),
21            Err(e) => Err(Error::Json(e)),
22        }
23    }
24
25    pub fn to_json(&self) -> Result<String, Error> {
26        match serde_json::to_string(&self) {
27            Ok(json) => Ok(json),
28            Err(e) => Err(Error::Json(e)),
29        }
30    }
31
32    pub fn online(&self) -> bool {
33        self.online
34    }
35}