diff --git a/src/mattermost.rs b/src/mattermost.rs index f428664..8c4a795 100644 --- a/src/mattermost.rs +++ b/src/mattermost.rs @@ -24,44 +24,45 @@ pub async fn connexion( trait Affichage { /// Affichage propre de l'équipe - fn print(self); + fn fprint(self) -> String; } impl Affichage for mattermost_api::models::TeamInformation { - fn print(self) { - println!("ID => {}", self.id); + fn fprint(self) -> String { + let mut res: String = String::from(""); + res += &format!("ID => {}", self.id); - println!("Type => {}", self.type_); + res += &format!("\nType => {}", self.type_); - println!("Nom => {}", self.name); + res += &format!("\nNom => {}", self.name); - println!("Nom d'affichage => {}", self.display_name); + res += &format!("\nNom d'affichage => {}", self.display_name); if !self.description.is_empty() { - println!("Description => {}", self.description); + res += &format!("\nDescription => {}", self.description); } // La date fournis par Mattermost est incohérente ? ex: 15/08/53977 le 03/01/2022 - let format_date = "le %d/%m/%Y à %T"; + let format_date = "le %d/%m/%Y à %T (UTC)"; let creation: DateTime = DateTime::from_utc(NaiveDateTime::from_timestamp(self.create_at, 0), Utc); - println!("Date de création => {}", creation.format(format_date)); + res += &format!("\nDate de création => {}", creation.format(format_date)); let mise_a_jour: DateTime = DateTime::from_utc(NaiveDateTime::from_timestamp(self.update_at, 0), Utc); - println!( - "Dernière mise-à-jour => {}", + res += &format!( + "\nDernière mise-à-jour => {}", mise_a_jour.format(format_date) ); if self.delete_at != 0 { let suppression: DateTime = DateTime::from_utc(NaiveDateTime::from_timestamp(self.delete_at, 0), Utc); - println!("Date de suppression => {}", suppression.format(format_date)); + res += &format!("\nDate de suppression => {}", suppression.format(format_date)); } - println!("Email => {}", self.email); + res += &format!("\nEmail => {}", self.email); let invitation; if self.allow_open_invite { @@ -69,17 +70,19 @@ impl Affichage for mattermost_api::models::TeamInformation { } else { invitation = "Faux"; } - println!("Invitation ouverte à tous => {}", invitation); + res += &format!("\nInvitation ouverte à tous => {}", invitation); if !self.allowed_domains.is_empty() { - println!("Nom de domaines autorisés => {}", self.allowed_domains); + res += &format!("\nNom de domaines autorisés => {}", self.allowed_domains); } - println!("ID d'invitation => {}", self.invite_id); + res += &format!("\nID d'invitation => {}", self.invite_id); if let Some(id) = self.policy_id { - println!("ID de la politique d'utilisation => {}", id); + res += &format!("\nID de la politique d'utilisation => {}", id); } + + res } } @@ -89,7 +92,7 @@ pub async fn test(api: &mattermost_api::client::Mattermost, equipe: &str) { match team_info { Ok(infos) => { - infos.print(); + println!("{}", infos.fprint()); } Err(e) => { println!("Error: {}", e);