MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / execute

Method execute

atomic-cli/src/commands/org/member.rs:163–209  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

161
162impl MemberList {
163 async fn execute(&self) -> CliResult<()> {
164 let client = build_client(self.org.as_deref(), None).await?;
165 let slug = client.org_slug().to_string();
166
167 let members = atomic_teams::member::list_members(&client, &slug)
168 .await
169 .map_err(|e| CliError::RemoteError {
170 message: e.to_string(),
171 url: None,
172 })?;
173
174 let is_json = self
175 .format
176 .as_deref()
177 .map(|f| f.eq_ignore_ascii_case("json"))
178 .unwrap_or(false);
179
180 if is_json {
181 let json = serde_json::to_string_pretty(&members).map_err(|e| {
182 CliError::Internal(anyhow::anyhow!("Failed to serialize members: {e}"))
183 })?;
184 println!("{json}");
185 } else if members.is_empty() {
186 print_hint("No members found in this organization.");
187 } else {
188 let mut table = Table::new();
189 table.set_columns(vec![
190 Column::new("IDENTITY_ID").min_width(36),
191 Column::new("ROLE").min_width(8),
192 Column::new("JOINED").min_width(20),
193 ]);
194
195 for member in &members {
196 table.add_row(vec![
197 member.identity_id.to_string(),
198 member.role.to_string(),
199 member.joined_at.to_rfc3339(),
200 ]);
201 }
202
203 println!("{table}");
204
205 print_hint(&format!("{} member(s) total", members.len()));
206 }
207
208 Ok(())
209 }
210}
211
212// ---------------------------------------------------------------------------

Callers 1

runMethod · 0.45

Calls 15

build_clientFunction · 0.85
list_membersFunction · 0.85
print_hintFunction · 0.85
resolve_identityFunction · 0.85
add_memberFunction · 0.85
print_successFunction · 0.85
update_member_roleFunction · 0.85
print_warningFunction · 0.85
remove_memberFunction · 0.85
org_slugMethod · 0.80
set_columnsMethod · 0.80
add_rowMethod · 0.80

Tested by

no test coverage detected