simplex_chat/
responses.rs

1pub use crate::types::*;
2use serde::{Deserialize, Serialize};
3use serde_json::Value as JsonValue;
4use std::collections::HashMap;
5
6#[derive(Serialize, Deserialize, Debug, Clone)]
7#[serde(tag = "type")]
8#[serde(rename_all = "camelCase", rename_all_fields = "camelCase")]
9pub enum ChatResponse {
10    ActiveUser {
11        user: User,
12        #[serde(flatten)]
13        _unknown_fields: HashMap<String, JsonValue>,
14    },
15    ChatError {
16        user_: Option<User>,
17        chat_error: ChatError,
18        #[serde(flatten)]
19        _unknown_fields: HashMap<String, JsonValue>,
20    },
21    ChatCmdError {
22        user_: Option<User>,
23        chat_error: ChatError,
24        #[serde(flatten)]
25        _unknown_fields: HashMap<String, JsonValue>,
26    },
27    ChatRunning {
28        #[serde(flatten)]
29        _unknown_fields: HashMap<String, JsonValue>,
30    },
31    ChatStarted {
32        #[serde(flatten)]
33        _unknown_fields: HashMap<String, JsonValue>,
34    },
35    ChatStopped {
36        #[serde(flatten)]
37        _unknown_fields: HashMap<String, JsonValue>,
38    },
39    Chats {
40        // user: User,
41        chats: Vec<Chat>,
42        #[serde(flatten)]
43        _unknown_fields: HashMap<String, JsonValue>,
44    },
45    ContactConnected {
46        contact: Contact,
47        user: User,
48        user_custom_profile: Option<Profile>,
49        #[serde(flatten)]
50        _unknown_fields: HashMap<String, JsonValue>,
51    },
52    NewChatItems {
53        user: User,
54        chat_items: Vec<AChatItem>,
55        #[serde(flatten)]
56        _unknown_fields: HashMap<String, JsonValue>,
57    },
58    ReceivedGroupInvitation {
59        user: User,
60        group_info: GroupInfo,
61        contact: Contact,
62        member_role: GroupMemberRole,
63        #[serde(flatten)]
64        _unknown_fields: HashMap<String, JsonValue>,
65    },
66    UserContactLink {
67        user: User,
68        contact_link: UserContactLink,
69        #[serde(flatten)]
70        _unknown_fields: HashMap<String, JsonValue>,
71    },
72    UserContactLinkCreated {
73        user: User,
74        conn_req_contact: String,
75        #[serde(flatten)]
76        _unknown_fields: HashMap<String, JsonValue>,
77    },
78    UsersList {
79        users: Vec<UserInfo>,
80        #[serde(flatten)]
81        _unknown_fields: HashMap<String, JsonValue>,
82    },
83    #[serde(untagged)]
84    Unknown(JsonValue),
85}