diff --git a/src/modes/server/api/status.rs b/src/modes/server/api/status.rs index 8852bda..64d36ac 100644 --- a/src/modes/server/api/status.rs +++ b/src/modes/server/api/status.rs @@ -3,6 +3,7 @@ use axum::{ http::StatusCode, response::Json, }; +use strum::IntoEnumIterator; use crate::modes::server::common::{AppState, ApiResponse, StatusInfoResponse}; use crate::common::status::{generate_status_info, StatusInfo}; @@ -33,34 +34,12 @@ pub async fn handle_status( let db_path = state.db.lock().await.path().unwrap_or("unknown").to_string(); // Get all meta plugin types that are supported - let supported_meta_plugins: Vec = [ - MetaPluginType::FileMagic, - MetaPluginType::FileMime, - MetaPluginType::FileEncoding, - MetaPluginType::LineCount, - MetaPluginType::WordCount, - MetaPluginType::Cwd, - MetaPluginType::Binary, - MetaPluginType::Uid, - MetaPluginType::User, - MetaPluginType::Gid, - MetaPluginType::Shell, - MetaPluginType::ShellPid, - MetaPluginType::KeepPid, - MetaPluginType::Hostname, - MetaPluginType::FullHostname, - MetaPluginType::DigestSha256, - MetaPluginType::DigestMd5, - MetaPluginType::ReadTime, - MetaPluginType::ReadRate, - ] - .iter() - .filter(|mpt| { - let plugin = crate::meta_plugin::get_meta_plugin((*mpt).clone()); - plugin.is_supported() - }) - .cloned() - .collect(); + let supported_meta_plugins: Vec = MetaPluginType::iter() + .filter(|mpt| { + let plugin = crate::meta_plugin::get_meta_plugin((*mpt).clone()); + plugin.is_supported() + }) + .collect(); // Default to LZ4 compression for the API status endpoint let enabled_compression_type = Some(CompressionType::LZ4);