use crate::prelude::*;
use caesura_macros::Options;
use serde::{Deserialize, Serialize};
#[derive(Options, Clone, Debug, Deserialize, Serialize)]
pub struct QueueFetchOptions {
#[arg(long)]
#[options(required)]
pub qbit_fetch_categories: Vec<String>,
}
impl OptionsContract for QueueFetchOptions {
type Partial = QueueFetchOptionsPartial;
fn validate(&self, errors: &mut Vec<OptionRule>) {
if self.qbit_fetch_categories.is_empty() {
errors.push(IsEmpty("qBittorrent fetch categories".to_owned()));
}
}
}