From 8a1d336e4be70e4d7c1ccef78b279b8a97ba66d7 Mon Sep 17 00:00:00 2001 From: sqlerrorthing <148702857+sqlerrorthing@users.noreply.github.com> Date: Mon, 3 Nov 2025 05:04:05 +0800 Subject: [PATCH] good struct --- rust/crates/zaprett/src/config.rs | 37 ++++--------------------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/rust/crates/zaprett/src/config.rs b/rust/crates/zaprett/src/config.rs index ade207f..cdb4ae5 100644 --- a/rust/crates/zaprett/src/config.rs +++ b/rust/crates/zaprett/src/config.rs @@ -2,58 +2,29 @@ use crate::{MODULE_PATH, merge_files}; use getset::Getters; use serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize)] +#[derive(Default, Serialize, Deserialize)] #[serde(rename_all = "lowercase")] pub enum ListType { + #[default] Whitelist, Blacklist, } -impl Default for ListType { - fn default() -> Self { - Self::Whitelist - } -} - -#[derive(Serialize, Deserialize, Getters)] +#[derive(Default, Serialize, Deserialize, Getters)] #[getset(get = "pub")] +#[serde(default)] pub struct Config { - #[serde(default)] active_lists: Vec, - #[serde(default)] active_ipsets: Vec, - #[serde(default)] active_exclude_lists: Vec, - #[serde(default)] active_exclude_ipsets: Vec, - #[serde(default)] list_type: ListType, - #[serde(default)] strategy: String, - #[serde(default)] app_list: String, - #[serde(default)] whitelist: Vec, - #[serde(default)] blacklist: Vec, } -impl Default for Config { - fn default() -> Self { - Self { - active_lists: vec![], - active_ipsets: vec![], - active_exclude_lists: vec![], - active_exclude_ipsets: vec![], - list_type: Default::default(), - strategy: String::new(), - app_list: String::new(), - whitelist: vec![], - blacklist: vec![], - } - } -} - impl ListType { /// # Returns ///