animebytes_rs/models/
status.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{errors::Error, Client};
4
5impl Client {
6    /// Returns basic information about the tracker, auth required.
7    /// ```rust
8    /// # async fn run() -> Result<(), animebytes_rs::errors::Error> {
9    /// let client = animebytes_rs::Client::new("password", "username")?;
10    ///
11    /// let search_result = client.status().await?;
12    ///
13    /// println!("{:?}", search_result);
14    /// Ok(())
15    /// # }
16    /// ```
17    /// # Errors
18    /// This method can fail if there is a general HTTP error.
19    pub async fn status(&self) -> Result<StatusDTO, Error> { self.get("https://status.animebytes.tv/api/status").await }
20}
21
22#[derive(Debug, Serialize, Deserialize)]
23pub struct StatusDTO {
24    pub success: bool,
25    pub status: StatusClass,
26}
27
28#[derive(Debug, Serialize, Deserialize)]
29pub struct StatusClass {
30    pub tracker: Tracker,
31    pub site: Irc,
32    pub irc: Irc,
33    pub mei: Irc,
34}
35
36#[derive(Debug, Serialize, Deserialize)]
37pub struct Irc {
38    pub status: i64,
39}
40
41#[derive(Debug, Serialize, Deserialize)]
42pub struct Tracker {
43    pub status: i64,
44    pub details: Vec<Detail>,
45}
46
47#[derive(Debug, Serialize, Deserialize)]
48pub struct Detail {
49    pub status: i64,
50    pub ip: String,
51}