sonarr_api_rs/models/
queue_resource.rs

1/*
2 * Sonarr
3 *
4 * Sonarr API docs - The v3 API docs apply to both v3 and v4 versions of Sonarr. Some functionality may only be available in v4 of the Sonarr application.
5 *
6 * The version of the OpenAPI document: 3.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct QueueResource {
16    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17    pub id: Option<i32>,
18    #[serde(rename = "seriesId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
19    pub series_id: Option<Option<i32>>,
20    #[serde(rename = "episodeId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21    pub episode_id: Option<Option<i32>>,
22    #[serde(rename = "seasonNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23    pub season_number: Option<Option<i32>>,
24    #[serde(rename = "series", skip_serializing_if = "Option::is_none")]
25    pub series: Option<Box<models::SeriesResource>>,
26    #[serde(rename = "episode", skip_serializing_if = "Option::is_none")]
27    pub episode: Option<Box<models::EpisodeResource>>,
28    #[serde(rename = "languages", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
29    pub languages: Option<Option<Vec<models::Language>>>,
30    #[serde(rename = "quality", skip_serializing_if = "Option::is_none")]
31    pub quality: Option<Box<models::QualityModel>>,
32    #[serde(rename = "customFormats", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33    pub custom_formats: Option<Option<Vec<models::CustomFormatResource>>>,
34    #[serde(rename = "customFormatScore", skip_serializing_if = "Option::is_none")]
35    pub custom_format_score: Option<i32>,
36    #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
37    pub size: Option<f64>,
38    #[serde(rename = "title", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39    pub title: Option<Option<String>>,
40    #[serde(rename = "sizeleft", skip_serializing_if = "Option::is_none")]
41    pub sizeleft: Option<f64>,
42    #[serde(rename = "timeleft", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
43    pub timeleft: Option<Option<String>>,
44    #[serde(rename = "estimatedCompletionTime", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
45    pub estimated_completion_time: Option<Option<String>>,
46    #[serde(rename = "added", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
47    pub added: Option<Option<String>>,
48    #[serde(rename = "status", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
49    pub status: Option<Option<String>>,
50    #[serde(rename = "trackedDownloadStatus", skip_serializing_if = "Option::is_none")]
51    pub tracked_download_status: Option<models::TrackedDownloadStatus>,
52    #[serde(rename = "trackedDownloadState", skip_serializing_if = "Option::is_none")]
53    pub tracked_download_state: Option<models::TrackedDownloadState>,
54    #[serde(rename = "statusMessages", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
55    pub status_messages: Option<Option<Vec<models::TrackedDownloadStatusMessage>>>,
56    #[serde(rename = "errorMessage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
57    pub error_message: Option<Option<String>>,
58    #[serde(rename = "downloadId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
59    pub download_id: Option<Option<String>>,
60    #[serde(rename = "protocol", skip_serializing_if = "Option::is_none")]
61    pub protocol: Option<models::DownloadProtocol>,
62    #[serde(rename = "downloadClient", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
63    pub download_client: Option<Option<String>>,
64    #[serde(rename = "downloadClientHasPostImportCategory", skip_serializing_if = "Option::is_none")]
65    pub download_client_has_post_import_category: Option<bool>,
66    #[serde(rename = "indexer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
67    pub indexer: Option<Option<String>>,
68    #[serde(rename = "outputPath", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
69    pub output_path: Option<Option<String>>,
70    #[serde(rename = "episodeHasFile", skip_serializing_if = "Option::is_none")]
71    pub episode_has_file: Option<bool>,
72}
73
74impl QueueResource {
75    pub fn new() -> QueueResource {
76        QueueResource {
77            id: None,
78            series_id: None,
79            episode_id: None,
80            season_number: None,
81            series: None,
82            episode: None,
83            languages: None,
84            quality: None,
85            custom_formats: None,
86            custom_format_score: None,
87            size: None,
88            title: None,
89            sizeleft: None,
90            timeleft: None,
91            estimated_completion_time: None,
92            added: None,
93            status: None,
94            tracked_download_status: None,
95            tracked_download_state: None,
96            status_messages: None,
97            error_message: None,
98            download_id: None,
99            protocol: None,
100            download_client: None,
101            download_client_has_post_import_category: None,
102            indexer: None,
103            output_path: None,
104            episode_has_file: None,
105        }
106    }
107}
108