refactor: Refactored the IndexerTestResut model into the general Servarr models
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
use std::fmt::{Display, Formatter};
|
use std::fmt::{Display, Formatter};
|
||||||
|
|
||||||
|
use crate::models::servarr_models::IndexerTestResult;
|
||||||
use crate::{models::HorizontallyScrollableText, serde_enum_from};
|
use crate::{models::HorizontallyScrollableText, serde_enum_from};
|
||||||
use chrono::{DateTime, Utc};
|
use chrono::{DateTime, Utc};
|
||||||
use clap::ValueEnum;
|
use clap::ValueEnum;
|
||||||
@@ -216,23 +217,6 @@ pub struct IndexerSettings {
|
|||||||
pub whitelisted_hardcoded_subs: HorizontallyScrollableText,
|
pub whitelisted_hardcoded_subs: HorizontallyScrollableText,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
|
|
||||||
#[serde(rename_all = "camelCase")]
|
|
||||||
pub struct IndexerTestResult {
|
|
||||||
#[serde(deserialize_with = "super::from_i64")]
|
|
||||||
pub id: i64,
|
|
||||||
pub is_valid: bool,
|
|
||||||
pub validation_failures: Vec<IndexerValidationFailure>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Default, Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
|
|
||||||
#[serde(rename_all = "camelCase")]
|
|
||||||
pub struct IndexerValidationFailure {
|
|
||||||
pub property_name: String,
|
|
||||||
pub error_message: String,
|
|
||||||
pub severity: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Derivative, Debug, Clone, PartialEq, Eq)]
|
#[derive(Serialize, Deserialize, Derivative, Debug, Clone, PartialEq, Eq)]
|
||||||
#[derivative(Default)]
|
#[derivative(Default)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
|
|||||||
@@ -153,6 +153,23 @@ pub struct Indexer {
|
|||||||
pub tags: Vec<Number>,
|
pub tags: Vec<Number>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Default, Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
|
||||||
|
#[serde(rename_all = "camelCase")]
|
||||||
|
pub struct IndexerTestResult {
|
||||||
|
#[serde(deserialize_with = "super::from_i64")]
|
||||||
|
pub id: i64,
|
||||||
|
pub is_valid: bool,
|
||||||
|
pub validation_failures: Vec<IndexerValidationFailure>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Default, Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
|
||||||
|
#[serde(rename_all = "camelCase")]
|
||||||
|
pub struct IndexerValidationFailure {
|
||||||
|
pub property_name: String,
|
||||||
|
pub error_message: String,
|
||||||
|
pub severity: String,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Default, Deserialize, Serialize, Debug, Clone, Eq, PartialEq)]
|
#[derive(Default, Deserialize, Serialize, Debug, Clone, Eq, PartialEq)]
|
||||||
pub struct IndexerField {
|
pub struct IndexerField {
|
||||||
pub name: Option<String>,
|
pub name: Option<String>,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use std::fmt::{Display, Formatter};
|
use std::fmt::{Display, Formatter};
|
||||||
|
|
||||||
use crate::serde_enum_from;
|
use crate::{models::servarr_models::IndexerTestResult, serde_enum_from};
|
||||||
use chrono::{DateTime, Utc};
|
use chrono::{DateTime, Utc};
|
||||||
use clap::ValueEnum;
|
use clap::ValueEnum;
|
||||||
use derivative::Derivative;
|
use derivative::Derivative;
|
||||||
@@ -11,7 +11,6 @@ use strum::EnumIter;
|
|||||||
use strum_macros::Display;
|
use strum_macros::Display;
|
||||||
|
|
||||||
use super::{
|
use super::{
|
||||||
radarr_models::IndexerTestResult,
|
|
||||||
servarr_models::{
|
servarr_models::{
|
||||||
DiskSpace, HostConfig, Indexer, Language, LogResponse, QualityProfile, QualityWrapper,
|
DiskSpace, HostConfig, Indexer, Language, LogResponse, QualityProfile, QualityWrapper,
|
||||||
QueueEvent, RootFolder, SecurityConfig, Tag, Update,
|
QueueEvent, RootFolder, SecurityConfig, Tag, Update,
|
||||||
|
|||||||
@@ -4,10 +4,9 @@ mod tests {
|
|||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
|
|
||||||
use crate::models::{
|
use crate::models::{
|
||||||
radarr_models::IndexerTestResult,
|
|
||||||
servarr_models::{
|
servarr_models::{
|
||||||
DiskSpace, HostConfig, Indexer, Language, Log, LogResponse, QualityProfile, QueueEvent,
|
DiskSpace, HostConfig, Indexer, IndexerTestResult, Language, Log, LogResponse,
|
||||||
RootFolder, SecurityConfig, Tag, Update,
|
QualityProfile, QueueEvent, RootFolder, SecurityConfig, Tag, Update,
|
||||||
},
|
},
|
||||||
sonarr_models::{
|
sonarr_models::{
|
||||||
AddSeriesSearchResult, BlocklistItem, BlocklistResponse, DownloadRecord, DownloadStatus,
|
AddSeriesSearchResult, BlocklistItem, BlocklistResponse, DownloadRecord, DownloadStatus,
|
||||||
|
|||||||
@@ -9,15 +9,16 @@ use urlencoding::encode;
|
|||||||
use crate::models::radarr_models::{
|
use crate::models::radarr_models::{
|
||||||
AddMovieBody, AddMovieSearchResult, BlocklistResponse, Collection, Credit, CreditType,
|
AddMovieBody, AddMovieSearchResult, BlocklistResponse, Collection, Credit, CreditType,
|
||||||
DeleteMovieParams, DownloadRecord, DownloadsResponse, EditCollectionParams, EditMovieParams,
|
DeleteMovieParams, DownloadRecord, DownloadsResponse, EditCollectionParams, EditMovieParams,
|
||||||
IndexerSettings, IndexerTestResult, Movie, MovieCommandBody, MovieHistoryItem, RadarrRelease,
|
IndexerSettings, Movie, MovieCommandBody, MovieHistoryItem, RadarrRelease,
|
||||||
RadarrReleaseDownloadBody, RadarrSerdeable, RadarrTask, RadarrTaskName, SystemStatus,
|
RadarrReleaseDownloadBody, RadarrSerdeable, RadarrTask, RadarrTaskName, SystemStatus,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
||||||
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
use crate::models::servarr_models::{
|
use crate::models::servarr_models::{
|
||||||
AddRootFolderBody, CommandBody, DiskSpace, EditIndexerParams, HostConfig, Indexer, LogResponse,
|
AddRootFolderBody, CommandBody, DiskSpace, EditIndexerParams, HostConfig, Indexer,
|
||||||
QualityProfile, QueueEvent, RootFolder, SecurityConfig, Tag, Update,
|
IndexerTestResult, LogResponse, QualityProfile, QueueEvent, RootFolder, SecurityConfig, Tag,
|
||||||
|
Update,
|
||||||
};
|
};
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
use crate::models::{HorizontallyScrollableText, Route, Scrollable, ScrollableText};
|
use crate::models::{HorizontallyScrollableText, Route, Scrollable, ScrollableText};
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ use serde_json::{json, Number, Value};
|
|||||||
use urlencoding::encode;
|
use urlencoding::encode;
|
||||||
|
|
||||||
use super::{Network, NetworkEvent, NetworkResource};
|
use super::{Network, NetworkEvent, NetworkResource};
|
||||||
|
use crate::models::servarr_models::IndexerTestResult;
|
||||||
use crate::models::sonarr_models::{DownloadStatus, MonitorEpisodeBody};
|
use crate::models::sonarr_models::{DownloadStatus, MonitorEpisodeBody};
|
||||||
use crate::{
|
use crate::{
|
||||||
models::{
|
models::{
|
||||||
radarr_models::IndexerTestResult,
|
|
||||||
servarr_data::{
|
servarr_data::{
|
||||||
modals::IndexerTestResultModalItem,
|
modals::IndexerTestResultModalItem,
|
||||||
sonarr::{
|
sonarr::{
|
||||||
|
|||||||
@@ -21,16 +21,15 @@ mod test {
|
|||||||
};
|
};
|
||||||
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::models::radarr_models::IndexerTestResult;
|
|
||||||
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
||||||
use crate::models::servarr_data::sonarr::modals::{
|
use crate::models::servarr_data::sonarr::modals::{
|
||||||
AddSeriesModal, EpisodeDetailsModal, SeasonDetailsModal,
|
AddSeriesModal, EpisodeDetailsModal, SeasonDetailsModal,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
||||||
use crate::models::servarr_models::{
|
use crate::models::servarr_models::{
|
||||||
AddRootFolderBody, DiskSpace, EditIndexerParams, HostConfig, Indexer, IndexerField, Language,
|
AddRootFolderBody, DiskSpace, EditIndexerParams, HostConfig, Indexer, IndexerField,
|
||||||
LogResponse, Quality, QualityProfile, QualityWrapper, QueueEvent, RootFolder, SecurityConfig,
|
IndexerTestResult, Language, LogResponse, Quality, QualityProfile, QualityWrapper, QueueEvent,
|
||||||
Tag, Update,
|
RootFolder, SecurityConfig, Tag, Update,
|
||||||
};
|
};
|
||||||
use crate::models::sonarr_models::{
|
use crate::models::sonarr_models::{
|
||||||
BlocklistItem, DeleteSeriesParams, DownloadRecord, DownloadsResponse, Episode, EpisodeFile,
|
BlocklistItem, DeleteSeriesParams, DownloadRecord, DownloadsResponse, Episode, EpisodeFile,
|
||||||
|
|||||||
Reference in New Issue
Block a user