use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamsMessage {
pub id: String,
pub channel_id: Option<String>,
pub chat_id: Option<String>,
pub sender_id: String,
pub sender_name: String,
pub content: String,
pub content_type: String,
pub attachments: Vec<TeamsAttachment>,
pub reply_to: Option<String>,
pub created_at: String,
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamsAttachment {
pub id: String,
pub name: String,
pub content_type: String,
pub content_url: Option<String>,
pub thumbnail_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamsUser {
pub id: String,
pub display_name: String,
pub user_principal_name: Option<String>,
pub mail: Option<String>,
pub avatar_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamsChannel {
pub id: String,
pub team_id: String,
pub display_name: String,
pub description: Option<String>,
pub channel_type: String,
pub web_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamsChat {
pub id: String,
pub topic: Option<String>,
pub chat_type: String,
pub web_url: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TeamsTeam {
pub id: String,
pub display_name: String,
pub description: Option<String>,
pub web_url: Option<String>,
}