qbit_api_rs/types/
search.rs1use serde::{self, Deserialize, Serialize};
2
3#[derive(Debug, Clone, Default, Serialize)]
5pub struct StartForm {
6 pub pattern: String,
7 pub plugins: String,
8 pub category: String,
9}
10
11#[derive(Debug, Clone, Deserialize)]
13pub struct StartResponse {
14 pub id: u64,
15}
16
17#[derive(Debug, Clone, Default, Serialize)]
19pub struct StopForm {
20 pub id: u64,
21}
22
23#[serde_with::skip_serializing_none]
25#[derive(Debug, Clone, Default, Serialize)]
26pub struct StatusQuery {
27 pub id: Option<u64>,
28}
29
30pub type StatusResponse = Vec<StatusResponseItem>;
32
33#[derive(Debug, Clone, Deserialize)]
36pub struct StatusResponseItem {
37 pub id: u64,
38 pub status: String,
39 pub total: u64,
40}
41
42#[serde_with::skip_serializing_none]
44#[derive(Debug, Clone, Default, Serialize)]
45pub struct ResultsQuery {
46 pub id: u64,
47 pub limit: Option<i64>,
48 pub offset: Option<i64>,
49}
50
51#[derive(Debug, Clone, Deserialize)]
53pub struct ResultsResponse {
54 pub results: Vec<ResultsResponseItem>,
55 pub status: String,
56 pub total: u64,
57}
58
59#[derive(Debug, Clone, Deserialize)]
62#[serde(rename_all = "camelCase")]
63pub struct ResultsResponseItem {
64 pub descr_link: String,
65 pub file_name: String,
66 pub file_size: f64,
67 pub file_url: String,
68 pub nb_leechers: u64,
69 pub nb_seeders: u64,
70 pub site_url: String,
71}
72
73#[derive(Debug, Clone, Default, Serialize)]
75pub struct DeleteForm {
76 pub id: u64,
77}