use anyhow::Result;
use atm_core::home;
use atm_core::team_admin::{self, MembersQuery};
use atm_core::types::TeamName;
use clap::Args;
use crate::observability::CliObservability;
use crate::output;
#[derive(Debug, Args)]
pub struct MembersCommand {
#[arg(long)]
team: Option<String>,
#[arg(long)]
json: bool,
}
impl MembersCommand {
pub fn run(self, _observability: &CliObservability) -> Result<()> {
let home_dir = home::atm_home()?;
let current_dir = std::env::current_dir()?;
let outcome = team_admin::list_members(MembersQuery {
home_dir,
current_dir,
team_override: self.team.map(TeamName::from),
})?;
output::print_members_result(&outcome, self.json)
}
}