1use derive_builder;
4use derive_builder::Builder;
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Builder, Default, Serialize)]
9pub struct LogRequest {
10 #[builder(default)]
11 normal: bool,
12 #[builder(default)]
13 info: bool,
14 #[builder(default)]
15 warning: bool,
16 #[builder(default)]
17 critical: bool,
18 #[builder(default)]
19 last_known_id: u64,
20}
21
22#[derive(Default, Debug, Deserialize, Serialize, Clone)]
24pub enum TorrentFilter {
25 #[serde(rename = "all")]
26 #[default]
27 All,
28 #[serde(rename = "downloading")]
29 Downloading,
30 #[serde(rename = "seeding")]
31 Seeding,
32 #[serde(rename = "completed")]
33 Completed,
34 #[serde(rename = "paused")]
35 Paused,
36 #[serde(rename = "active")]
37 Active,
38 #[serde(rename = "inactive")]
39 Inactive,
40 #[serde(rename = "resumed")]
41 Resumed,
42 #[serde(rename = "stalled")]
43 Stalled,
44 #[serde(rename = "stalled_uploading")]
45 StalledUploading,
46 #[serde(rename = "stalled_downloading")]
47 StalledDownloading,
48 #[serde(rename = "errored")]
49 Errored,
50}
51
52#[derive(Debug, Clone, Deserialize, Serialize, Builder, Default)]
53#[builder(setter(into, strip_option))]
54pub struct AddTorrent {
55 #[builder(default)]
56 urls: Option<String>,
57 #[builder(default)]
58 torrents: Option<Vec<u8>>,
59 #[builder(default)]
60 savepath: Option<String>,
61 #[builder(default)]
62 cookie: Option<String>,
63 #[builder(default)]
64 category: Option<String>,
65 #[builder(default)]
66 skip_checking: Option<String>,
67 #[builder(default)]
68 paused: Option<String>,
69 #[builder(default)]
70 root_folder: Option<String>,
71 #[builder(default)]
72 rename: Option<String>,
73 #[builder(default)]
74 #[serde(rename = "upLimit")]
75 upload_limit: Option<i64>,
76 #[builder(default)]
77 #[serde(rename = "dlLimit")]
78 download_limit: Option<i64>,
79 #[builder(default)]
80 #[serde(rename = "autoTMM")]
81 automatic_management: Option<bool>,
82 #[builder(default)]
83 #[serde(rename = "sequentialDownload")]
84 sequential_download: Option<String>,
85 #[builder(default)]
86 #[serde(rename = "firstLastPiecePrio")]
87 first_last_piece_prio: Option<String>,
88}
89
90