use clap::Subcommand;
use crate::cli::args::SymbolArgs;
use crate::cli::dispatch::run_by_symbol;
use crate::cli::help;
use crate::cli::output::CommandPayload;
use crate::client::FmpClient;
use crate::endpoint;
use crate::error::Result;
#[derive(Debug, Subcommand)]
pub(crate) enum Cmd {
#[command(
about = help::ETF_HOLDINGS_ABOUT,
long_about = help::ETF_HOLDINGS_LONG
)]
Holdings(SymbolArgs),
}
pub(crate) async fn dispatch(client: &FmpClient, cmd: &Cmd) -> Result<CommandPayload> {
match cmd {
Cmd::Holdings(args) => run_by_symbol(client, endpoint::ETF_HOLDINGS, &args.symbol).await,
}
}