gewe_core/group/
settings.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5pub struct SetChatroomAnnouncementRequest<'a> {
6 #[serde(rename = "appId")]
7 pub app_id: &'a str,
8 #[serde(rename = "chatroomId")]
9 pub chatroom_id: &'a str,
10 #[serde(rename = "content")]
11 pub content: &'a str,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct GetChatroomAnnouncementRequest<'a> {
17 #[serde(rename = "appId")]
18 pub app_id: &'a str,
19 #[serde(rename = "chatroomId")]
20 pub chatroom_id: &'a str,
21 #[serde(rename = "type")]
22 pub r#type: i64,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize, Default)]
26#[serde(rename_all = "camelCase")]
27pub struct GetChatroomAnnouncementResponse {
28 #[serde(rename = "chatRoomAnnouncement")]
29 pub chat_room_announcement: String,
30 pub sender: String,
31 #[serde(rename = "createTime")]
32 pub create_time: String,
33 #[serde(rename = "expireTime")]
34 pub expire_time: String,
35}
36
37#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(rename_all = "camelCase")]
39pub struct GetChatroomQrCodeRequest<'a> {
40 #[serde(rename = "appId")]
41 pub app_id: &'a str,
42 #[serde(rename = "chatroomId")]
43 pub chatroom_id: &'a str,
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize, Default)]
47#[serde(rename_all = "camelCase")]
48pub struct GetChatroomQrCodeResponse {
49 #[serde(rename = "qrImgBase64")]
50 pub qr_img_base64: String,
51 #[serde(rename = "headImgBase64")]
52 pub head_img_base64: String,
53 #[serde(rename = "qrUrl")]
54 pub qr_url: String,
55}
56
57#[derive(Debug, Clone, Serialize, Deserialize)]
58#[serde(rename_all = "camelCase")]
59pub struct SaveContractListRequest<'a> {
60 #[serde(rename = "appId")]
61 pub app_id: &'a str,
62 #[serde(rename = "chatroomId")]
63 pub chatroom_id: &'a str,
64 #[serde(rename = "save")]
65 pub save: bool,
66}
67
68#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(rename_all = "camelCase")]
70pub struct PinChatRequest<'a> {
71 #[serde(rename = "appId")]
72 pub app_id: &'a str,
73 #[serde(rename = "chatroomId")]
74 pub chatroom_id: &'a str,
75 pub add: bool,
76}
77
78#[derive(Debug, Clone, Serialize, Deserialize)]
79#[serde(rename_all = "camelCase")]
80pub struct SetMsgSilenceRequest<'a> {
81 #[serde(rename = "appId")]
82 pub app_id: &'a str,
83 #[serde(rename = "chatroomId")]
84 pub chatroom_id: &'a str,
85 #[serde(rename = "switch")]
86 pub switch_: bool,
87}
88
89pub type SimpleGroupResponse = ();
90
91#[cfg(test)]
92mod tests {
93 use super::*;
94
95 #[test]
96 fn test_get_chatroom_announcement_response_default() {
97 let resp = GetChatroomAnnouncementResponse::default();
98 assert_eq!(resp.chat_room_announcement, "");
99 assert_eq!(resp.sender, "");
100 assert_eq!(resp.create_time, "");
101 assert_eq!(resp.expire_time, "");
102 }
103
104 #[test]
105 fn test_get_chatroom_qr_code_response_default() {
106 let resp = GetChatroomQrCodeResponse::default();
107 assert_eq!(resp.qr_img_base64, "");
108 assert_eq!(resp.head_img_base64, "");
109 assert_eq!(resp.qr_url, "");
110 }
111
112 #[test]
113 fn test_set_chatroom_announcement_request_serialization() {
114 let req = SetChatroomAnnouncementRequest {
115 app_id: "test_app",
116 chatroom_id: "room123",
117 content: "Important announcement",
118 };
119 let json = serde_json::to_string(&req).unwrap();
120 assert!(json.contains("test_app"));
121 assert!(json.contains("room123"));
122 assert!(json.contains("Important announcement"));
123 }
124
125 #[test]
126 fn test_get_chatroom_announcement_request_serialization() {
127 let req = GetChatroomAnnouncementRequest {
128 app_id: "test_app",
129 chatroom_id: "room123",
130 r#type: 1,
131 };
132 let json = serde_json::to_string(&req).unwrap();
133 assert!(json.contains("test_app"));
134 assert!(json.contains("room123"));
135 }
136
137 #[test]
138 fn test_pin_chat_request_serialization() {
139 let req = PinChatRequest {
140 app_id: "test_app",
141 chatroom_id: "room123",
142 add: true,
143 };
144 let json = serde_json::to_string(&req).unwrap();
145 assert!(json.contains("test_app"));
146 assert!(json.contains("room123"));
147 assert!(json.contains("true"));
148 }
149
150 #[test]
151 fn test_set_msg_silence_request_serialization() {
152 let req = SetMsgSilenceRequest {
153 app_id: "test_app",
154 chatroom_id: "room123",
155 switch_: false,
156 };
157 let json = serde_json::to_string(&req).unwrap();
158 assert!(json.contains("test_app"));
159 assert!(json.contains("room123"));
160 assert!(json.contains("false"));
161 }
162}