botx_api/api/v3/chats/list/
models.rs

1use std::collections::HashMap;
2
3use chrono::{DateTime, Utc};
4use serde::{Serialize, Deserialize};
5use uuid::Uuid;
6
7use crate::bot::models::ChatType;
8
9/// Ответ eXpress на запрос списка чатов бота
10#[derive(Debug, Serialize, Deserialize, Clone)]
11pub struct ChatsListResponse {
12    /// Результат запроса
13    pub result: Vec<ChatsListResult>,
14}
15
16/// Результат обработки запроса списка чатов
17#[derive(Debug, Serialize, Deserialize, Clone)]
18pub struct ChatsListResult {
19    /// id чата
20    pub group_chat_id: Uuid,
21    
22    /// Тип чата
23    pub chat_type: ChatType,
24    
25    /// Название чата
26    pub name: String,
27    
28    /// Описание чата
29    pub description: String,
30    
31    /// Участники чата
32    pub members: Vec<Uuid>,
33    
34    /// Признак общей истории в чате
35    pub shared_history: bool,
36    
37    /// Время создания чата
38    pub inserted_at: DateTime<Utc>,
39
40    /// Время последнего обновления чата
41    pub updated_at: DateTime<Utc>,
42}
43
44/// Ответ с ошибкой eXpress на запрос списка чатов
45#[derive(Debug, Serialize, Deserialize, Clone)]
46pub struct ChatsListError {
47    /// Нет фиксированного ответа об ошибке. Складируем все данные сюда
48    #[serde(flatten)]
49    pub data: HashMap<String, String>,
50}