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