sonarr-api-rs 3.0.0

Rust API wrapper for Sonarr
Documentation
/*
 * Sonarr
 *
 * 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.
 *
 * The version of the OpenAPI document: 3.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct MediaManagementConfigResource {
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<i32>,
    #[serde(rename = "autoUnmonitorPreviouslyDownloadedEpisodes", skip_serializing_if = "Option::is_none")]
    pub auto_unmonitor_previously_downloaded_episodes: Option<bool>,
    #[serde(rename = "recycleBin", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub recycle_bin: Option<Option<String>>,
    #[serde(rename = "recycleBinCleanupDays", skip_serializing_if = "Option::is_none")]
    pub recycle_bin_cleanup_days: Option<i32>,
    #[serde(rename = "downloadPropersAndRepacks", skip_serializing_if = "Option::is_none")]
    pub download_propers_and_repacks: Option<models::ProperDownloadTypes>,
    #[serde(rename = "createEmptySeriesFolders", skip_serializing_if = "Option::is_none")]
    pub create_empty_series_folders: Option<bool>,
    #[serde(rename = "deleteEmptyFolders", skip_serializing_if = "Option::is_none")]
    pub delete_empty_folders: Option<bool>,
    #[serde(rename = "fileDate", skip_serializing_if = "Option::is_none")]
    pub file_date: Option<models::FileDateType>,
    #[serde(rename = "rescanAfterRefresh", skip_serializing_if = "Option::is_none")]
    pub rescan_after_refresh: Option<models::RescanAfterRefreshType>,
    #[serde(rename = "setPermissionsLinux", skip_serializing_if = "Option::is_none")]
    pub set_permissions_linux: Option<bool>,
    #[serde(rename = "chmodFolder", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub chmod_folder: Option<Option<String>>,
    #[serde(rename = "chownGroup", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub chown_group: Option<Option<String>>,
    #[serde(rename = "episodeTitleRequired", skip_serializing_if = "Option::is_none")]
    pub episode_title_required: Option<models::EpisodeTitleRequiredType>,
    #[serde(rename = "skipFreeSpaceCheckWhenImporting", skip_serializing_if = "Option::is_none")]
    pub skip_free_space_check_when_importing: Option<bool>,
    #[serde(rename = "minimumFreeSpaceWhenImporting", skip_serializing_if = "Option::is_none")]
    pub minimum_free_space_when_importing: Option<i32>,
    #[serde(rename = "copyUsingHardlinks", skip_serializing_if = "Option::is_none")]
    pub copy_using_hardlinks: Option<bool>,
    #[serde(rename = "useScriptImport", skip_serializing_if = "Option::is_none")]
    pub use_script_import: Option<bool>,
    #[serde(rename = "scriptImportPath", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub script_import_path: Option<Option<String>>,
    #[serde(rename = "importExtraFiles", skip_serializing_if = "Option::is_none")]
    pub import_extra_files: Option<bool>,
    #[serde(rename = "extraFileExtensions", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub extra_file_extensions: Option<Option<String>>,
    #[serde(rename = "enableMediaInfo", skip_serializing_if = "Option::is_none")]
    pub enable_media_info: Option<bool>,
}

impl MediaManagementConfigResource {
    pub fn new() -> MediaManagementConfigResource {
        MediaManagementConfigResource {
            id: None,
            auto_unmonitor_previously_downloaded_episodes: None,
            recycle_bin: None,
            recycle_bin_cleanup_days: None,
            download_propers_and_repacks: None,
            create_empty_series_folders: None,
            delete_empty_folders: None,
            file_date: None,
            rescan_after_refresh: None,
            set_permissions_linux: None,
            chmod_folder: None,
            chown_group: None,
            episode_title_required: None,
            skip_free_space_check_when_importing: None,
            minimum_free_space_when_importing: None,
            copy_using_hardlinks: None,
            use_script_import: None,
            script_import_path: None,
            import_extra_files: None,
            extra_file_extensions: None,
            enable_media_info: None,
        }
    }
}