Skip to main content

simploxide_api_types/
responses.rs

1use crate::*;
2
3#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4#[serde(tag = "type")]
5pub enum ApiCreateMyAddressResponse {
6    /// UserContactLinkCreated: User contact address created.
7    #[serde(rename = "userContactLinkCreated")]
8    UserContactLinkCreated(Arc<UserContactLinkCreatedResponse>),
9}
10
11impl ApiCreateMyAddressResponse {
12    pub fn into_inner(self) -> Arc<UserContactLinkCreatedResponse> {
13        match self {
14            Self::UserContactLinkCreated(inner) => inner,
15        }
16    }
17}
18
19#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
20#[serde(tag = "type")]
21pub enum ApiDeleteMyAddressResponse {
22    /// UserContactLinkDeleted: User contact address deleted.
23    #[serde(rename = "userContactLinkDeleted")]
24    UserContactLinkDeleted(Arc<UserContactLinkDeletedResponse>),
25}
26
27impl ApiDeleteMyAddressResponse {
28    pub fn into_inner(self) -> Arc<UserContactLinkDeletedResponse> {
29        match self {
30            Self::UserContactLinkDeleted(inner) => inner,
31        }
32    }
33}
34
35#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
36#[serde(tag = "type")]
37pub enum ApiShowMyAddressResponse {
38    /// UserContactLink: User contact address.
39    #[serde(rename = "userContactLink")]
40    UserContactLink(Arc<UserContactLinkResponse>),
41}
42
43impl ApiShowMyAddressResponse {
44    pub fn into_inner(self) -> Arc<UserContactLinkResponse> {
45        match self {
46            Self::UserContactLink(inner) => inner,
47        }
48    }
49}
50
51#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
52#[serde(tag = "type")]
53pub enum ApiSetProfileAddressResponse {
54    /// UserProfileUpdated: User profile updated.
55    #[serde(rename = "userProfileUpdated")]
56    UserProfileUpdated(Arc<UserProfileUpdatedResponse>),
57}
58
59impl ApiSetProfileAddressResponse {
60    pub fn into_inner(self) -> Arc<UserProfileUpdatedResponse> {
61        match self {
62            Self::UserProfileUpdated(inner) => inner,
63        }
64    }
65}
66
67#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
68#[serde(tag = "type")]
69pub enum ApiSetAddressSettingsResponse {
70    /// UserContactLinkUpdated: User contact address updated.
71    #[serde(rename = "userContactLinkUpdated")]
72    UserContactLinkUpdated(Arc<UserContactLinkUpdatedResponse>),
73}
74
75impl ApiSetAddressSettingsResponse {
76    pub fn into_inner(self) -> Arc<UserContactLinkUpdatedResponse> {
77        match self {
78            Self::UserContactLinkUpdated(inner) => inner,
79        }
80    }
81}
82
83#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
84#[serde(tag = "type")]
85pub enum ApiSendMessagesResponse {
86    /// NewChatItems: New messages.
87    #[serde(rename = "newChatItems")]
88    NewChatItems(Arc<NewChatItemsResponse>),
89}
90
91impl ApiSendMessagesResponse {
92    pub fn into_inner(self) -> Arc<NewChatItemsResponse> {
93        match self {
94            Self::NewChatItems(inner) => inner,
95        }
96    }
97}
98
99#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
100#[serde(tag = "type")]
101pub enum ApiUpdateChatItemResponse {
102    /// ChatItemUpdated: Message updated.
103    #[serde(rename = "chatItemUpdated")]
104    ChatItemUpdated(Arc<ChatItemUpdatedResponse>),
105    /// ChatItemNotChanged: Message not changed.
106    #[serde(rename = "chatItemNotChanged")]
107    ChatItemNotChanged(Arc<ChatItemNotChangedResponse>),
108}
109
110impl ApiUpdateChatItemResponse {
111    pub fn chat_item_updated(&self) -> Option<&ChatItemUpdatedResponse> {
112        if let Self::ChatItemUpdated(ret) = self {
113            Some(ret)
114        } else {
115            None
116        }
117    }
118
119    pub fn chat_item_not_changed(&self) -> Option<&ChatItemNotChangedResponse> {
120        if let Self::ChatItemNotChanged(ret) = self {
121            Some(ret)
122        } else {
123            None
124        }
125    }
126}
127
128#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
129#[serde(tag = "type")]
130pub enum ApiDeleteChatItemResponse {
131    /// ChatItemsDeleted: Messages deleted.
132    #[serde(rename = "chatItemsDeleted")]
133    ChatItemsDeleted(Arc<ChatItemsDeletedResponse>),
134}
135
136impl ApiDeleteChatItemResponse {
137    pub fn into_inner(self) -> Arc<ChatItemsDeletedResponse> {
138        match self {
139            Self::ChatItemsDeleted(inner) => inner,
140        }
141    }
142}
143
144#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
145#[serde(tag = "type")]
146pub enum ApiDeleteMemberChatItemResponse {
147    /// ChatItemsDeleted: Messages deleted.
148    #[serde(rename = "chatItemsDeleted")]
149    ChatItemsDeleted(Arc<ChatItemsDeletedResponse>),
150}
151
152impl ApiDeleteMemberChatItemResponse {
153    pub fn into_inner(self) -> Arc<ChatItemsDeletedResponse> {
154        match self {
155            Self::ChatItemsDeleted(inner) => inner,
156        }
157    }
158}
159
160#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
161#[serde(tag = "type")]
162pub enum ApiChatItemReactionResponse {
163    /// ChatItemReaction: Message reaction.
164    #[serde(rename = "chatItemReaction")]
165    ChatItemReaction(Arc<ChatItemReactionResponse>),
166}
167
168impl ApiChatItemReactionResponse {
169    pub fn into_inner(self) -> Arc<ChatItemReactionResponse> {
170        match self {
171            Self::ChatItemReaction(inner) => inner,
172        }
173    }
174}
175
176#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
177#[serde(tag = "type")]
178pub enum ReceiveFileResponse {
179    /// RcvFileAccepted: File accepted to be received.
180    #[serde(rename = "rcvFileAccepted")]
181    RcvFileAccepted(Arc<RcvFileAcceptedResponse>),
182    /// RcvFileAcceptedSndCancelled: File accepted, but no longer sent.
183    #[serde(rename = "rcvFileAcceptedSndCancelled")]
184    RcvFileAcceptedSndCancelled(Arc<RcvFileAcceptedSndCancelledResponse>),
185}
186
187impl ReceiveFileResponse {
188    pub fn rcv_file_accepted(&self) -> Option<&RcvFileAcceptedResponse> {
189        if let Self::RcvFileAccepted(ret) = self {
190            Some(ret)
191        } else {
192            None
193        }
194    }
195
196    pub fn rcv_file_accepted_snd_cancelled(&self) -> Option<&RcvFileAcceptedSndCancelledResponse> {
197        if let Self::RcvFileAcceptedSndCancelled(ret) = self {
198            Some(ret)
199        } else {
200            None
201        }
202    }
203}
204
205#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
206#[serde(tag = "type")]
207pub enum CancelFileResponse {
208    /// SndFileCancelled: Cancelled sending file.
209    #[serde(rename = "sndFileCancelled")]
210    SndFileCancelled(Arc<SndFileCancelledResponse>),
211    /// RcvFileCancelled: Cancelled receiving file.
212    #[serde(rename = "rcvFileCancelled")]
213    RcvFileCancelled(Arc<RcvFileCancelledResponse>),
214}
215
216impl CancelFileResponse {
217    pub fn snd_file_cancelled(&self) -> Option<&SndFileCancelledResponse> {
218        if let Self::SndFileCancelled(ret) = self {
219            Some(ret)
220        } else {
221            None
222        }
223    }
224
225    pub fn rcv_file_cancelled(&self) -> Option<&RcvFileCancelledResponse> {
226        if let Self::RcvFileCancelled(ret) = self {
227            Some(ret)
228        } else {
229            None
230        }
231    }
232}
233
234#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
235#[serde(tag = "type")]
236pub enum ApiAddMemberResponse {
237    /// SentGroupInvitation: Group invitation sent.
238    #[serde(rename = "sentGroupInvitation")]
239    SentGroupInvitation(Arc<SentGroupInvitationResponse>),
240}
241
242impl ApiAddMemberResponse {
243    pub fn into_inner(self) -> Arc<SentGroupInvitationResponse> {
244        match self {
245            Self::SentGroupInvitation(inner) => inner,
246        }
247    }
248}
249
250#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
251#[serde(tag = "type")]
252pub enum ApiJoinGroupResponse {
253    /// UserAcceptedGroupSent: User accepted group invitation.
254    #[serde(rename = "userAcceptedGroupSent")]
255    UserAcceptedGroupSent(Arc<UserAcceptedGroupSentResponse>),
256}
257
258impl ApiJoinGroupResponse {
259    pub fn into_inner(self) -> Arc<UserAcceptedGroupSentResponse> {
260        match self {
261            Self::UserAcceptedGroupSent(inner) => inner,
262        }
263    }
264}
265
266#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
267#[serde(tag = "type")]
268pub enum ApiAcceptMemberResponse {
269    /// MemberAccepted: Member accepted to group.
270    #[serde(rename = "memberAccepted")]
271    MemberAccepted(Arc<MemberAcceptedResponse>),
272}
273
274impl ApiAcceptMemberResponse {
275    pub fn into_inner(self) -> Arc<MemberAcceptedResponse> {
276        match self {
277            Self::MemberAccepted(inner) => inner,
278        }
279    }
280}
281
282#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
283#[serde(tag = "type")]
284pub enum ApiMembersRoleResponse {
285    /// MembersRoleUser: Members role changed by user.
286    #[serde(rename = "membersRoleUser")]
287    MembersRoleUser(Arc<MembersRoleUserResponse>),
288}
289
290impl ApiMembersRoleResponse {
291    pub fn into_inner(self) -> Arc<MembersRoleUserResponse> {
292        match self {
293            Self::MembersRoleUser(inner) => inner,
294        }
295    }
296}
297
298#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
299#[serde(tag = "type")]
300pub enum ApiBlockMembersForAllResponse {
301    /// MembersBlockedForAllUser: Members blocked for all by admin.
302    #[serde(rename = "membersBlockedForAllUser")]
303    MembersBlockedForAllUser(Arc<MembersBlockedForAllUserResponse>),
304}
305
306impl ApiBlockMembersForAllResponse {
307    pub fn into_inner(self) -> Arc<MembersBlockedForAllUserResponse> {
308        match self {
309            Self::MembersBlockedForAllUser(inner) => inner,
310        }
311    }
312}
313
314#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
315#[serde(tag = "type")]
316pub enum ApiRemoveMembersResponse {
317    /// UserDeletedMembers: Members deleted.
318    #[serde(rename = "userDeletedMembers")]
319    UserDeletedMembers(Arc<UserDeletedMembersResponse>),
320}
321
322impl ApiRemoveMembersResponse {
323    pub fn into_inner(self) -> Arc<UserDeletedMembersResponse> {
324        match self {
325            Self::UserDeletedMembers(inner) => inner,
326        }
327    }
328}
329
330#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
331#[serde(tag = "type")]
332pub enum ApiLeaveGroupResponse {
333    /// LeftMemberUser: User left group.
334    #[serde(rename = "leftMemberUser")]
335    LeftMemberUser(Arc<LeftMemberUserResponse>),
336}
337
338impl ApiLeaveGroupResponse {
339    pub fn into_inner(self) -> Arc<LeftMemberUserResponse> {
340        match self {
341            Self::LeftMemberUser(inner) => inner,
342        }
343    }
344}
345
346#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
347#[serde(tag = "type")]
348pub enum ApiListMembersResponse {
349    /// GroupMembers: Group members.
350    #[serde(rename = "groupMembers")]
351    GroupMembers(Arc<GroupMembersResponse>),
352}
353
354impl ApiListMembersResponse {
355    pub fn into_inner(self) -> Arc<GroupMembersResponse> {
356        match self {
357            Self::GroupMembers(inner) => inner,
358        }
359    }
360}
361
362#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
363#[serde(tag = "type")]
364pub enum ApiNewGroupResponse {
365    /// GroupCreated: Group created.
366    #[serde(rename = "groupCreated")]
367    GroupCreated(Arc<GroupCreatedResponse>),
368}
369
370impl ApiNewGroupResponse {
371    pub fn into_inner(self) -> Arc<GroupCreatedResponse> {
372        match self {
373            Self::GroupCreated(inner) => inner,
374        }
375    }
376}
377
378#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
379#[serde(tag = "type")]
380pub enum ApiNewPublicGroupResponse {
381    /// PublicGroupCreated: Public group created.
382    #[serde(rename = "publicGroupCreated")]
383    PublicGroupCreated(Arc<PublicGroupCreatedResponse>),
384    /// PublicGroupCreationFailed: Public group creation failed.
385    #[serde(rename = "publicGroupCreationFailed")]
386    PublicGroupCreationFailed(Arc<PublicGroupCreationFailedResponse>),
387}
388
389impl ApiNewPublicGroupResponse {
390    pub fn public_group_created(&self) -> Option<&PublicGroupCreatedResponse> {
391        if let Self::PublicGroupCreated(ret) = self {
392            Some(ret)
393        } else {
394            None
395        }
396    }
397
398    pub fn public_group_creation_failed(&self) -> Option<&PublicGroupCreationFailedResponse> {
399        if let Self::PublicGroupCreationFailed(ret) = self {
400            Some(ret)
401        } else {
402            None
403        }
404    }
405}
406
407#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
408#[serde(tag = "type")]
409pub enum ApiGetGroupRelaysResponse {
410    /// GroupRelays: Group relays.
411    #[serde(rename = "groupRelays")]
412    GroupRelays(Arc<GroupRelaysResponse>),
413}
414
415impl ApiGetGroupRelaysResponse {
416    pub fn into_inner(self) -> Arc<GroupRelaysResponse> {
417        match self {
418            Self::GroupRelays(inner) => inner,
419        }
420    }
421}
422
423#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
424#[serde(tag = "type")]
425pub enum ApiAddGroupRelaysResponse {
426    /// GroupRelaysAdded: Group relays added.
427    #[serde(rename = "groupRelaysAdded")]
428    GroupRelaysAdded(Arc<GroupRelaysAddedResponse>),
429    /// GroupRelaysAddFailed: Group relays add failed.
430    #[serde(rename = "groupRelaysAddFailed")]
431    GroupRelaysAddFailed(Arc<GroupRelaysAddFailedResponse>),
432}
433
434impl ApiAddGroupRelaysResponse {
435    pub fn group_relays_added(&self) -> Option<&GroupRelaysAddedResponse> {
436        if let Self::GroupRelaysAdded(ret) = self {
437            Some(ret)
438        } else {
439            None
440        }
441    }
442
443    pub fn group_relays_add_failed(&self) -> Option<&GroupRelaysAddFailedResponse> {
444        if let Self::GroupRelaysAddFailed(ret) = self {
445            Some(ret)
446        } else {
447            None
448        }
449    }
450}
451
452#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
453#[serde(tag = "type")]
454pub enum ApiAllowRelayGroupResponse {
455    /// RelayGroupAllowed: Relay rejection cleared for a channel.
456    #[serde(rename = "relayGroupAllowed")]
457    RelayGroupAllowed(Arc<RelayGroupAllowedResponse>),
458}
459
460impl ApiAllowRelayGroupResponse {
461    pub fn into_inner(self) -> Arc<RelayGroupAllowedResponse> {
462        match self {
463            Self::RelayGroupAllowed(inner) => inner,
464        }
465    }
466}
467
468#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
469#[serde(tag = "type")]
470pub enum ApiUpdateGroupProfileResponse {
471    /// GroupUpdated: Group updated.
472    #[serde(rename = "groupUpdated")]
473    GroupUpdated(Arc<GroupUpdatedResponse>),
474}
475
476impl ApiUpdateGroupProfileResponse {
477    pub fn into_inner(self) -> Arc<GroupUpdatedResponse> {
478        match self {
479            Self::GroupUpdated(inner) => inner,
480        }
481    }
482}
483
484#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
485#[serde(tag = "type")]
486pub enum ApiCreateGroupLinkResponse {
487    /// GroupLinkCreated: Group link created.
488    #[serde(rename = "groupLinkCreated")]
489    GroupLinkCreated(Arc<GroupLinkCreatedResponse>),
490}
491
492impl ApiCreateGroupLinkResponse {
493    pub fn into_inner(self) -> Arc<GroupLinkCreatedResponse> {
494        match self {
495            Self::GroupLinkCreated(inner) => inner,
496        }
497    }
498}
499
500#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
501#[serde(tag = "type")]
502pub enum ApiGroupLinkMemberRoleResponse {
503    /// GroupLink: Group link.
504    #[serde(rename = "groupLink")]
505    GroupLink(Arc<GroupLinkResponse>),
506}
507
508impl ApiGroupLinkMemberRoleResponse {
509    pub fn into_inner(self) -> Arc<GroupLinkResponse> {
510        match self {
511            Self::GroupLink(inner) => inner,
512        }
513    }
514}
515
516#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
517#[serde(tag = "type")]
518pub enum ApiDeleteGroupLinkResponse {
519    /// GroupLinkDeleted: Group link deleted.
520    #[serde(rename = "groupLinkDeleted")]
521    GroupLinkDeleted(Arc<GroupLinkDeletedResponse>),
522}
523
524impl ApiDeleteGroupLinkResponse {
525    pub fn into_inner(self) -> Arc<GroupLinkDeletedResponse> {
526        match self {
527            Self::GroupLinkDeleted(inner) => inner,
528        }
529    }
530}
531
532#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
533#[serde(tag = "type")]
534pub enum ApiGetGroupLinkResponse {
535    /// GroupLink: Group link.
536    #[serde(rename = "groupLink")]
537    GroupLink(Arc<GroupLinkResponse>),
538}
539
540impl ApiGetGroupLinkResponse {
541    pub fn into_inner(self) -> Arc<GroupLinkResponse> {
542        match self {
543            Self::GroupLink(inner) => inner,
544        }
545    }
546}
547
548#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
549#[serde(tag = "type")]
550pub enum ApiAddContactResponse {
551    /// Invitation: One-time invitation.
552    #[serde(rename = "invitation")]
553    Invitation(Arc<InvitationResponse>),
554}
555
556impl ApiAddContactResponse {
557    pub fn into_inner(self) -> Arc<InvitationResponse> {
558        match self {
559            Self::Invitation(inner) => inner,
560        }
561    }
562}
563
564#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
565#[serde(tag = "type")]
566pub enum ApiConnectPlanResponse {
567    /// ConnectionPlan: Connection link information.
568    #[serde(rename = "connectionPlan")]
569    ConnectionPlan(Arc<ConnectionPlanResponse>),
570}
571
572impl ApiConnectPlanResponse {
573    pub fn into_inner(self) -> Arc<ConnectionPlanResponse> {
574        match self {
575            Self::ConnectionPlan(inner) => inner,
576        }
577    }
578}
579
580#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
581#[serde(tag = "type")]
582pub enum ApiConnectResponse {
583    /// SentConfirmation: Confirmation sent to one-time invitation.
584    #[serde(rename = "sentConfirmation")]
585    SentConfirmation(Arc<SentConfirmationResponse>),
586    /// ContactAlreadyExists: Contact already exists.
587    #[serde(rename = "contactAlreadyExists")]
588    ContactAlreadyExists(Arc<ContactAlreadyExistsResponse>),
589    /// SentInvitation: Invitation sent to contact address.
590    #[serde(rename = "sentInvitation")]
591    SentInvitation(Arc<SentInvitationResponse>),
592}
593
594impl ApiConnectResponse {
595    pub fn sent_confirmation(&self) -> Option<&SentConfirmationResponse> {
596        if let Self::SentConfirmation(ret) = self {
597            Some(ret)
598        } else {
599            None
600        }
601    }
602
603    pub fn contact_already_exists(&self) -> Option<&ContactAlreadyExistsResponse> {
604        if let Self::ContactAlreadyExists(ret) = self {
605            Some(ret)
606        } else {
607            None
608        }
609    }
610
611    pub fn sent_invitation(&self) -> Option<&SentInvitationResponse> {
612        if let Self::SentInvitation(ret) = self {
613            Some(ret)
614        } else {
615            None
616        }
617    }
618}
619
620#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
621#[serde(tag = "type")]
622pub enum ConnectResponse {
623    /// SentConfirmation: Confirmation sent to one-time invitation.
624    #[serde(rename = "sentConfirmation")]
625    SentConfirmation(Arc<SentConfirmationResponse>),
626    /// ContactAlreadyExists: Contact already exists.
627    #[serde(rename = "contactAlreadyExists")]
628    ContactAlreadyExists(Arc<ContactAlreadyExistsResponse>),
629    /// SentInvitation: Invitation sent to contact address.
630    #[serde(rename = "sentInvitation")]
631    SentInvitation(Arc<SentInvitationResponse>),
632}
633
634impl ConnectResponse {
635    pub fn sent_confirmation(&self) -> Option<&SentConfirmationResponse> {
636        if let Self::SentConfirmation(ret) = self {
637            Some(ret)
638        } else {
639            None
640        }
641    }
642
643    pub fn contact_already_exists(&self) -> Option<&ContactAlreadyExistsResponse> {
644        if let Self::ContactAlreadyExists(ret) = self {
645            Some(ret)
646        } else {
647            None
648        }
649    }
650
651    pub fn sent_invitation(&self) -> Option<&SentInvitationResponse> {
652        if let Self::SentInvitation(ret) = self {
653            Some(ret)
654        } else {
655            None
656        }
657    }
658}
659
660#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
661#[serde(tag = "type")]
662pub enum ApiAcceptContactResponse {
663    /// AcceptingContactRequest: Contact request accepted.
664    #[serde(rename = "acceptingContactRequest")]
665    AcceptingContactRequest(Arc<AcceptingContactRequestResponse>),
666}
667
668impl ApiAcceptContactResponse {
669    pub fn into_inner(self) -> Arc<AcceptingContactRequestResponse> {
670        match self {
671            Self::AcceptingContactRequest(inner) => inner,
672        }
673    }
674}
675
676#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
677#[serde(tag = "type")]
678pub enum ApiRejectContactResponse {
679    /// ContactRequestRejected: Contact request rejected.
680    #[serde(rename = "contactRequestRejected")]
681    ContactRequestRejected(Arc<ContactRequestRejectedResponse>),
682}
683
684impl ApiRejectContactResponse {
685    pub fn into_inner(self) -> Arc<ContactRequestRejectedResponse> {
686        match self {
687            Self::ContactRequestRejected(inner) => inner,
688        }
689    }
690}
691
692#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
693#[serde(tag = "type")]
694pub enum ApiListContactsResponse {
695    /// ContactsList: Contacts.
696    #[serde(rename = "contactsList")]
697    ContactsList(Arc<ContactsListResponse>),
698}
699
700impl ApiListContactsResponse {
701    pub fn into_inner(self) -> Arc<ContactsListResponse> {
702        match self {
703            Self::ContactsList(inner) => inner,
704        }
705    }
706}
707
708#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
709#[serde(tag = "type")]
710pub enum ApiListGroupsResponse {
711    /// GroupsList: Groups.
712    #[serde(rename = "groupsList")]
713    GroupsList(Arc<GroupsListResponse>),
714}
715
716impl ApiListGroupsResponse {
717    pub fn into_inner(self) -> Arc<GroupsListResponse> {
718        match self {
719            Self::GroupsList(inner) => inner,
720        }
721    }
722}
723
724#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
725#[serde(tag = "type")]
726pub enum ApiGetChatsResponse {
727    /// ApiChats: Chat previews (paginated). Use this instead of CRContactsList / CRGroupsList when scanning at scale..
728    #[serde(rename = "apiChats")]
729    ApiChats(Arc<ApiChatsResponse>),
730}
731
732impl ApiGetChatsResponse {
733    pub fn into_inner(self) -> Arc<ApiChatsResponse> {
734        match self {
735            Self::ApiChats(inner) => inner,
736        }
737    }
738}
739
740#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
741#[serde(tag = "type")]
742pub enum ApiDeleteChatResponse {
743    /// ContactDeleted: Contact deleted.
744    #[serde(rename = "contactDeleted")]
745    ContactDeleted(Arc<ContactDeletedResponse>),
746    /// ContactConnectionDeleted: Connection deleted.
747    #[serde(rename = "contactConnectionDeleted")]
748    ContactConnectionDeleted(Arc<ContactConnectionDeletedResponse>),
749    /// GroupDeletedUser: User deleted group.
750    #[serde(rename = "groupDeletedUser")]
751    GroupDeletedUser(Arc<GroupDeletedUserResponse>),
752}
753
754impl ApiDeleteChatResponse {
755    pub fn contact_deleted(&self) -> Option<&ContactDeletedResponse> {
756        if let Self::ContactDeleted(ret) = self {
757            Some(ret)
758        } else {
759            None
760        }
761    }
762
763    pub fn contact_connection_deleted(&self) -> Option<&ContactConnectionDeletedResponse> {
764        if let Self::ContactConnectionDeleted(ret) = self {
765            Some(ret)
766        } else {
767            None
768        }
769    }
770
771    pub fn group_deleted_user(&self) -> Option<&GroupDeletedUserResponse> {
772        if let Self::GroupDeletedUser(ret) = self {
773            Some(ret)
774        } else {
775            None
776        }
777    }
778}
779
780#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
781#[serde(tag = "type")]
782pub enum ApiSetGroupCustomDataResponse {
783    /// CmdOk: Ok.
784    #[serde(rename = "cmdOk")]
785    CmdOk(Arc<CmdOkResponse>),
786}
787
788impl ApiSetGroupCustomDataResponse {
789    pub fn into_inner(self) -> Arc<CmdOkResponse> {
790        match self {
791            Self::CmdOk(inner) => inner,
792        }
793    }
794}
795
796#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
797#[serde(tag = "type")]
798pub enum ApiSetContactCustomDataResponse {
799    /// CmdOk: Ok.
800    #[serde(rename = "cmdOk")]
801    CmdOk(Arc<CmdOkResponse>),
802}
803
804impl ApiSetContactCustomDataResponse {
805    pub fn into_inner(self) -> Arc<CmdOkResponse> {
806        match self {
807            Self::CmdOk(inner) => inner,
808        }
809    }
810}
811
812#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
813#[serde(tag = "type")]
814pub enum ApiSetUserAutoAcceptMemberContactsResponse {
815    /// CmdOk: Ok.
816    #[serde(rename = "cmdOk")]
817    CmdOk(Arc<CmdOkResponse>),
818}
819
820impl ApiSetUserAutoAcceptMemberContactsResponse {
821    pub fn into_inner(self) -> Arc<CmdOkResponse> {
822        match self {
823            Self::CmdOk(inner) => inner,
824        }
825    }
826}
827
828#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
829#[serde(tag = "type")]
830pub enum ShowActiveUserResponse {
831    /// ActiveUser: Active user profile.
832    #[serde(rename = "activeUser")]
833    ActiveUser(Arc<ActiveUserResponse>),
834}
835
836impl ShowActiveUserResponse {
837    pub fn into_inner(self) -> Arc<ActiveUserResponse> {
838        match self {
839            Self::ActiveUser(inner) => inner,
840        }
841    }
842}
843
844#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
845#[serde(tag = "type")]
846pub enum CreateActiveUserResponse {
847    /// ActiveUser: Active user profile.
848    #[serde(rename = "activeUser")]
849    ActiveUser(Arc<ActiveUserResponse>),
850}
851
852impl CreateActiveUserResponse {
853    pub fn into_inner(self) -> Arc<ActiveUserResponse> {
854        match self {
855            Self::ActiveUser(inner) => inner,
856        }
857    }
858}
859
860#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
861#[serde(tag = "type")]
862pub enum ListUsersResponse {
863    /// UsersList: Users.
864    #[serde(rename = "usersList")]
865    UsersList(Arc<UsersListResponse>),
866}
867
868impl ListUsersResponse {
869    pub fn into_inner(self) -> Arc<UsersListResponse> {
870        match self {
871            Self::UsersList(inner) => inner,
872        }
873    }
874}
875
876#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
877#[serde(tag = "type")]
878pub enum ApiSetActiveUserResponse {
879    /// ActiveUser: Active user profile.
880    #[serde(rename = "activeUser")]
881    ActiveUser(Arc<ActiveUserResponse>),
882}
883
884impl ApiSetActiveUserResponse {
885    pub fn into_inner(self) -> Arc<ActiveUserResponse> {
886        match self {
887            Self::ActiveUser(inner) => inner,
888        }
889    }
890}
891
892#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
893#[serde(tag = "type")]
894pub enum ApiDeleteUserResponse {
895    /// CmdOk: Ok.
896    #[serde(rename = "cmdOk")]
897    CmdOk(Arc<CmdOkResponse>),
898}
899
900impl ApiDeleteUserResponse {
901    pub fn into_inner(self) -> Arc<CmdOkResponse> {
902        match self {
903            Self::CmdOk(inner) => inner,
904        }
905    }
906}
907
908#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
909#[serde(tag = "type")]
910pub enum ApiUpdateProfileResponse {
911    /// UserProfileUpdated: User profile updated.
912    #[serde(rename = "userProfileUpdated")]
913    UserProfileUpdated(Arc<UserProfileUpdatedResponse>),
914    /// UserProfileNoChange: User profile was not changed.
915    #[serde(rename = "userProfileNoChange")]
916    UserProfileNoChange(Arc<UserProfileNoChangeResponse>),
917}
918
919impl ApiUpdateProfileResponse {
920    pub fn user_profile_updated(&self) -> Option<&UserProfileUpdatedResponse> {
921        if let Self::UserProfileUpdated(ret) = self {
922            Some(ret)
923        } else {
924            None
925        }
926    }
927
928    pub fn user_profile_no_change(&self) -> Option<&UserProfileNoChangeResponse> {
929        if let Self::UserProfileNoChange(ret) = self {
930            Some(ret)
931        } else {
932            None
933        }
934    }
935}
936
937#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
938#[serde(tag = "type")]
939pub enum ApiSetContactPrefsResponse {
940    /// ContactPrefsUpdated: Contact preferences updated.
941    #[serde(rename = "contactPrefsUpdated")]
942    ContactPrefsUpdated(Arc<ContactPrefsUpdatedResponse>),
943}
944
945impl ApiSetContactPrefsResponse {
946    pub fn into_inner(self) -> Arc<ContactPrefsUpdatedResponse> {
947        match self {
948            Self::ContactPrefsUpdated(inner) => inner,
949        }
950    }
951}
952
953#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
954#[serde(tag = "type")]
955pub enum StartChatResponse {
956    /// ChatStarted: Chat started.
957    #[serde(rename = "chatStarted")]
958    ChatStarted(Arc<ChatStartedResponse>),
959    /// ChatRunning: Chat running.
960    #[serde(rename = "chatRunning")]
961    ChatRunning(Arc<ChatRunningResponse>),
962}
963
964impl StartChatResponse {
965    pub fn chat_started(&self) -> Option<&ChatStartedResponse> {
966        if let Self::ChatStarted(ret) = self {
967            Some(ret)
968        } else {
969            None
970        }
971    }
972
973    pub fn chat_running(&self) -> Option<&ChatRunningResponse> {
974        if let Self::ChatRunning(ret) = self {
975            Some(ret)
976        } else {
977            None
978        }
979    }
980}
981
982#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
983#[serde(tag = "type")]
984pub enum ApiStopChatResponse {
985    /// ChatStopped: Chat stopped.
986    #[serde(rename = "chatStopped")]
987    ChatStopped(Arc<ChatStoppedResponse>),
988}
989
990impl ApiStopChatResponse {
991    pub fn into_inner(self) -> Arc<ChatStoppedResponse> {
992        match self {
993            Self::ChatStopped(inner) => inner,
994        }
995    }
996}
997
998#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
999#[serde(tag = "type")]
1000pub enum ChatCmdError {
1001    #[serde(rename = "chatCmdError")]
1002    ChatCmdErrorResponse(Arc<ChatCmdErrorResponse>),
1003}
1004
1005impl ChatCmdError {
1006    pub fn into_inner(self) -> Arc<ChatCmdErrorResponse> {
1007        match self {
1008            Self::ChatCmdErrorResponse(inner) => inner,
1009        }
1010    }
1011}
1012
1013#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1014#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1015#[cfg_attr(feature = "bon", builder(on(String, into)))]
1016pub struct ChatCmdErrorResponse {
1017    #[serde(rename = "chatError")]
1018    pub chat_error: Arc<errors::ChatError>,
1019
1020    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1021    #[cfg_attr(feature = "bon", builder(default))]
1022    pub undocumented: JsonObject,
1023}
1024
1025#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1026#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1027#[cfg_attr(feature = "bon", builder(on(String, into)))]
1028pub struct AcceptingContactRequestResponse {
1029    #[serde(rename = "user")]
1030    pub user: User,
1031
1032    #[serde(rename = "contact")]
1033    pub contact: Contact,
1034
1035    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1036    #[cfg_attr(feature = "bon", builder(default))]
1037    pub undocumented: JsonObject,
1038}
1039
1040#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1041#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1042#[cfg_attr(feature = "bon", builder(on(String, into)))]
1043pub struct ActiveUserResponse {
1044    #[serde(rename = "user")]
1045    pub user: User,
1046
1047    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1048    #[cfg_attr(feature = "bon", builder(default))]
1049    pub undocumented: JsonObject,
1050}
1051
1052#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1053#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1054#[cfg_attr(feature = "bon", builder(on(String, into)))]
1055pub struct ApiChatsResponse {
1056    #[serde(rename = "user")]
1057    pub user: User,
1058
1059    #[serde(rename = "chats")]
1060    pub chats: Vec<AChat>,
1061
1062    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1063    #[cfg_attr(feature = "bon", builder(default))]
1064    pub undocumented: JsonObject,
1065}
1066
1067#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1068#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1069#[cfg_attr(feature = "bon", builder(on(String, into)))]
1070pub struct ChatItemNotChangedResponse {
1071    #[serde(rename = "user")]
1072    pub user: User,
1073
1074    #[serde(rename = "chatItem")]
1075    pub chat_item: AChatItem,
1076
1077    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1078    #[cfg_attr(feature = "bon", builder(default))]
1079    pub undocumented: JsonObject,
1080}
1081
1082#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1083#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1084#[cfg_attr(feature = "bon", builder(on(String, into)))]
1085pub struct ChatItemReactionResponse {
1086    #[serde(rename = "user")]
1087    pub user: User,
1088
1089    #[serde(rename = "added", default)]
1090    pub added: bool,
1091
1092    #[serde(rename = "reaction")]
1093    pub reaction: ACIReaction,
1094
1095    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1096    #[cfg_attr(feature = "bon", builder(default))]
1097    pub undocumented: JsonObject,
1098}
1099
1100#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1101#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1102#[cfg_attr(feature = "bon", builder(on(String, into)))]
1103pub struct ChatItemUpdatedResponse {
1104    #[serde(rename = "user")]
1105    pub user: User,
1106
1107    #[serde(rename = "chatItem")]
1108    pub chat_item: AChatItem,
1109
1110    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1111    #[cfg_attr(feature = "bon", builder(default))]
1112    pub undocumented: JsonObject,
1113}
1114
1115#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1116#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1117#[cfg_attr(feature = "bon", builder(on(String, into)))]
1118pub struct ChatItemsDeletedResponse {
1119    #[serde(rename = "user")]
1120    pub user: User,
1121
1122    #[serde(rename = "chatItemDeletions")]
1123    pub chat_item_deletions: Vec<ChatItemDeletion>,
1124
1125    #[serde(rename = "byUser", default)]
1126    pub by_user: bool,
1127
1128    #[serde(rename = "timed", default)]
1129    pub timed: bool,
1130
1131    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1132    #[cfg_attr(feature = "bon", builder(default))]
1133    pub undocumented: JsonObject,
1134}
1135
1136#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1137#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1138#[cfg_attr(feature = "bon", builder(on(String, into)))]
1139pub struct ChatRunningResponse {
1140    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1141    #[cfg_attr(feature = "bon", builder(default))]
1142    pub undocumented: JsonObject,
1143}
1144
1145#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1146#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1147#[cfg_attr(feature = "bon", builder(on(String, into)))]
1148pub struct ChatStartedResponse {
1149    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1150    #[cfg_attr(feature = "bon", builder(default))]
1151    pub undocumented: JsonObject,
1152}
1153
1154#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1155#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1156#[cfg_attr(feature = "bon", builder(on(String, into)))]
1157pub struct ChatStoppedResponse {
1158    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1159    #[cfg_attr(feature = "bon", builder(default))]
1160    pub undocumented: JsonObject,
1161}
1162
1163#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1164#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1165#[cfg_attr(feature = "bon", builder(on(String, into)))]
1166pub struct CmdOkResponse {
1167    #[serde(rename = "user_", skip_serializing_if = "Option::is_none")]
1168    pub user: Option<User>,
1169
1170    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1171    #[cfg_attr(feature = "bon", builder(default))]
1172    pub undocumented: JsonObject,
1173}
1174
1175#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1176#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1177#[cfg_attr(feature = "bon", builder(on(String, into)))]
1178pub struct ConnectionPlanResponse {
1179    #[serde(rename = "user")]
1180    pub user: User,
1181
1182    #[serde(rename = "connLink")]
1183    pub conn_link: CreatedConnLink,
1184
1185    #[serde(rename = "planSimplexName", skip_serializing_if = "Option::is_none")]
1186    pub plan_simplex_name: Option<SimplexNameInfo>,
1187
1188    #[serde(rename = "otherSimplexName", skip_serializing_if = "Option::is_none")]
1189    pub other_simplex_name: Option<SimplexNameInfo>,
1190
1191    #[serde(rename = "connectionPlan")]
1192    pub connection_plan: ConnectionPlan,
1193
1194    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1195    #[cfg_attr(feature = "bon", builder(default))]
1196    pub undocumented: JsonObject,
1197}
1198
1199#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1200#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1201#[cfg_attr(feature = "bon", builder(on(String, into)))]
1202pub struct ContactAlreadyExistsResponse {
1203    #[serde(rename = "user")]
1204    pub user: User,
1205
1206    #[serde(rename = "contact")]
1207    pub contact: Contact,
1208
1209    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1210    #[cfg_attr(feature = "bon", builder(default))]
1211    pub undocumented: JsonObject,
1212}
1213
1214#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1215#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1216#[cfg_attr(feature = "bon", builder(on(String, into)))]
1217pub struct ContactConnectionDeletedResponse {
1218    #[serde(rename = "user")]
1219    pub user: User,
1220
1221    #[serde(rename = "connection")]
1222    pub connection: PendingContactConnection,
1223
1224    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1225    #[cfg_attr(feature = "bon", builder(default))]
1226    pub undocumented: JsonObject,
1227}
1228
1229#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1230#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1231#[cfg_attr(feature = "bon", builder(on(String, into)))]
1232pub struct ContactDeletedResponse {
1233    #[serde(rename = "user")]
1234    pub user: User,
1235
1236    #[serde(rename = "contact")]
1237    pub contact: Contact,
1238
1239    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1240    #[cfg_attr(feature = "bon", builder(default))]
1241    pub undocumented: JsonObject,
1242}
1243
1244#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1245#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1246#[cfg_attr(feature = "bon", builder(on(String, into)))]
1247pub struct ContactPrefsUpdatedResponse {
1248    #[serde(rename = "user")]
1249    pub user: User,
1250
1251    #[serde(rename = "fromContact")]
1252    pub from_contact: Contact,
1253
1254    #[serde(rename = "toContact")]
1255    pub to_contact: Contact,
1256
1257    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1258    #[cfg_attr(feature = "bon", builder(default))]
1259    pub undocumented: JsonObject,
1260}
1261
1262#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1263#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1264#[cfg_attr(feature = "bon", builder(on(String, into)))]
1265pub struct ContactRequestRejectedResponse {
1266    #[serde(rename = "user")]
1267    pub user: User,
1268
1269    #[serde(rename = "contactRequest")]
1270    pub contact_request: UserContactRequest,
1271
1272    #[serde(rename = "contact_", skip_serializing_if = "Option::is_none")]
1273    pub contact: Option<Contact>,
1274
1275    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1276    #[cfg_attr(feature = "bon", builder(default))]
1277    pub undocumented: JsonObject,
1278}
1279
1280#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1281#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1282#[cfg_attr(feature = "bon", builder(on(String, into)))]
1283pub struct ContactsListResponse {
1284    #[serde(rename = "user")]
1285    pub user: User,
1286
1287    #[serde(rename = "contacts")]
1288    pub contacts: Vec<Contact>,
1289
1290    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1291    #[cfg_attr(feature = "bon", builder(default))]
1292    pub undocumented: JsonObject,
1293}
1294
1295#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1296#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1297#[cfg_attr(feature = "bon", builder(on(String, into)))]
1298pub struct GroupCreatedResponse {
1299    #[serde(rename = "user")]
1300    pub user: User,
1301
1302    #[serde(rename = "groupInfo")]
1303    pub group_info: GroupInfo,
1304
1305    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1306    #[cfg_attr(feature = "bon", builder(default))]
1307    pub undocumented: JsonObject,
1308}
1309
1310#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1311#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1312#[cfg_attr(feature = "bon", builder(on(String, into)))]
1313pub struct GroupDeletedUserResponse {
1314    #[serde(rename = "user")]
1315    pub user: User,
1316
1317    #[serde(rename = "groupInfo")]
1318    pub group_info: GroupInfo,
1319
1320    #[serde(rename = "msgSigned", default)]
1321    pub msg_signed: bool,
1322
1323    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1324    #[cfg_attr(feature = "bon", builder(default))]
1325    pub undocumented: JsonObject,
1326}
1327
1328#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1329#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1330#[cfg_attr(feature = "bon", builder(on(String, into)))]
1331pub struct GroupLinkCreatedResponse {
1332    #[serde(rename = "user")]
1333    pub user: User,
1334
1335    #[serde(rename = "groupInfo")]
1336    pub group_info: GroupInfo,
1337
1338    #[serde(rename = "groupLink")]
1339    pub group_link: GroupLink,
1340
1341    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1342    #[cfg_attr(feature = "bon", builder(default))]
1343    pub undocumented: JsonObject,
1344}
1345
1346#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1347#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1348#[cfg_attr(feature = "bon", builder(on(String, into)))]
1349pub struct GroupLinkDeletedResponse {
1350    #[serde(rename = "user")]
1351    pub user: User,
1352
1353    #[serde(rename = "groupInfo")]
1354    pub group_info: GroupInfo,
1355
1356    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1357    #[cfg_attr(feature = "bon", builder(default))]
1358    pub undocumented: JsonObject,
1359}
1360
1361#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1362#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1363#[cfg_attr(feature = "bon", builder(on(String, into)))]
1364pub struct GroupLinkResponse {
1365    #[serde(rename = "user")]
1366    pub user: User,
1367
1368    #[serde(rename = "groupInfo")]
1369    pub group_info: GroupInfo,
1370
1371    #[serde(rename = "groupLink")]
1372    pub group_link: GroupLink,
1373
1374    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1375    #[cfg_attr(feature = "bon", builder(default))]
1376    pub undocumented: JsonObject,
1377}
1378
1379#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1380#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1381#[cfg_attr(feature = "bon", builder(on(String, into)))]
1382pub struct GroupMembersResponse {
1383    #[serde(rename = "user")]
1384    pub user: User,
1385
1386    #[serde(rename = "group")]
1387    pub group: Group,
1388
1389    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1390    #[cfg_attr(feature = "bon", builder(default))]
1391    pub undocumented: JsonObject,
1392}
1393
1394#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1395#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1396#[cfg_attr(feature = "bon", builder(on(String, into)))]
1397pub struct GroupRelaysAddFailedResponse {
1398    #[serde(rename = "user")]
1399    pub user: User,
1400
1401    #[serde(rename = "addRelayResults")]
1402    pub add_relay_results: Vec<AddRelayResult>,
1403
1404    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1405    #[cfg_attr(feature = "bon", builder(default))]
1406    pub undocumented: JsonObject,
1407}
1408
1409#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1410#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1411#[cfg_attr(feature = "bon", builder(on(String, into)))]
1412pub struct GroupRelaysAddedResponse {
1413    #[serde(rename = "user")]
1414    pub user: User,
1415
1416    #[serde(rename = "groupInfo")]
1417    pub group_info: GroupInfo,
1418
1419    #[serde(rename = "groupLink")]
1420    pub group_link: GroupLink,
1421
1422    #[serde(rename = "groupRelays")]
1423    pub group_relays: Vec<GroupRelay>,
1424
1425    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1426    #[cfg_attr(feature = "bon", builder(default))]
1427    pub undocumented: JsonObject,
1428}
1429
1430#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1431#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1432#[cfg_attr(feature = "bon", builder(on(String, into)))]
1433pub struct GroupRelaysResponse {
1434    #[serde(rename = "user")]
1435    pub user: User,
1436
1437    #[serde(rename = "groupInfo")]
1438    pub group_info: GroupInfo,
1439
1440    #[serde(rename = "groupRelays")]
1441    pub group_relays: Vec<GroupRelay>,
1442
1443    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1444    #[cfg_attr(feature = "bon", builder(default))]
1445    pub undocumented: JsonObject,
1446}
1447
1448#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1449#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1450#[cfg_attr(feature = "bon", builder(on(String, into)))]
1451pub struct GroupUpdatedResponse {
1452    #[serde(rename = "user")]
1453    pub user: User,
1454
1455    #[serde(rename = "fromGroup")]
1456    pub from_group: GroupInfo,
1457
1458    #[serde(rename = "toGroup")]
1459    pub to_group: GroupInfo,
1460
1461    #[serde(rename = "member_", skip_serializing_if = "Option::is_none")]
1462    pub member: Option<GroupMember>,
1463
1464    #[serde(rename = "msgSigned", default)]
1465    pub msg_signed: bool,
1466
1467    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1468    #[cfg_attr(feature = "bon", builder(default))]
1469    pub undocumented: JsonObject,
1470}
1471
1472#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1473#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1474#[cfg_attr(feature = "bon", builder(on(String, into)))]
1475pub struct GroupsListResponse {
1476    #[serde(rename = "user")]
1477    pub user: User,
1478
1479    #[serde(rename = "groups")]
1480    pub groups: Vec<GroupInfo>,
1481
1482    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1483    #[cfg_attr(feature = "bon", builder(default))]
1484    pub undocumented: JsonObject,
1485}
1486
1487#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1488#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1489#[cfg_attr(feature = "bon", builder(on(String, into)))]
1490pub struct InvitationResponse {
1491    #[serde(rename = "user")]
1492    pub user: User,
1493
1494    #[serde(rename = "connLinkInvitation")]
1495    pub conn_link_invitation: CreatedConnLink,
1496
1497    #[serde(rename = "connection")]
1498    pub connection: PendingContactConnection,
1499
1500    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1501    #[cfg_attr(feature = "bon", builder(default))]
1502    pub undocumented: JsonObject,
1503}
1504
1505#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1506#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1507#[cfg_attr(feature = "bon", builder(on(String, into)))]
1508pub struct LeftMemberUserResponse {
1509    #[serde(rename = "user")]
1510    pub user: User,
1511
1512    #[serde(rename = "groupInfo")]
1513    pub group_info: GroupInfo,
1514
1515    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1516    #[cfg_attr(feature = "bon", builder(default))]
1517    pub undocumented: JsonObject,
1518}
1519
1520#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1521#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1522#[cfg_attr(feature = "bon", builder(on(String, into)))]
1523pub struct MemberAcceptedResponse {
1524    #[serde(rename = "user")]
1525    pub user: User,
1526
1527    #[serde(rename = "groupInfo")]
1528    pub group_info: GroupInfo,
1529
1530    #[serde(rename = "member")]
1531    pub member: GroupMember,
1532
1533    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1534    #[cfg_attr(feature = "bon", builder(default))]
1535    pub undocumented: JsonObject,
1536}
1537
1538#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1539#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1540#[cfg_attr(feature = "bon", builder(on(String, into)))]
1541pub struct MembersBlockedForAllUserResponse {
1542    #[serde(rename = "user")]
1543    pub user: User,
1544
1545    #[serde(rename = "groupInfo")]
1546    pub group_info: GroupInfo,
1547
1548    #[serde(rename = "members")]
1549    pub members: Vec<GroupMember>,
1550
1551    #[serde(rename = "blocked", default)]
1552    pub blocked: bool,
1553
1554    #[serde(rename = "msgSigned", default)]
1555    pub msg_signed: bool,
1556
1557    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1558    #[cfg_attr(feature = "bon", builder(default))]
1559    pub undocumented: JsonObject,
1560}
1561
1562#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1563#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1564#[cfg_attr(feature = "bon", builder(on(String, into)))]
1565pub struct MembersRoleUserResponse {
1566    #[serde(rename = "user")]
1567    pub user: User,
1568
1569    #[serde(rename = "groupInfo")]
1570    pub group_info: GroupInfo,
1571
1572    #[serde(rename = "members")]
1573    pub members: Vec<GroupMember>,
1574
1575    #[serde(rename = "toRole")]
1576    pub to_role: GroupMemberRole,
1577
1578    #[serde(rename = "msgSigned", default)]
1579    pub msg_signed: bool,
1580
1581    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1582    #[cfg_attr(feature = "bon", builder(default))]
1583    pub undocumented: JsonObject,
1584}
1585
1586#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1587#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1588#[cfg_attr(feature = "bon", builder(on(String, into)))]
1589pub struct NewChatItemsResponse {
1590    #[serde(rename = "user")]
1591    pub user: User,
1592
1593    #[serde(rename = "chatItems")]
1594    pub chat_items: Vec<AChatItem>,
1595
1596    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1597    #[cfg_attr(feature = "bon", builder(default))]
1598    pub undocumented: JsonObject,
1599}
1600
1601#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1602#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1603#[cfg_attr(feature = "bon", builder(on(String, into)))]
1604pub struct PublicGroupCreatedResponse {
1605    #[serde(rename = "user")]
1606    pub user: User,
1607
1608    #[serde(rename = "groupInfo")]
1609    pub group_info: GroupInfo,
1610
1611    #[serde(rename = "groupLink")]
1612    pub group_link: GroupLink,
1613
1614    #[serde(rename = "groupRelays")]
1615    pub group_relays: Vec<GroupRelay>,
1616
1617    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1618    #[cfg_attr(feature = "bon", builder(default))]
1619    pub undocumented: JsonObject,
1620}
1621
1622#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1623#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1624#[cfg_attr(feature = "bon", builder(on(String, into)))]
1625pub struct PublicGroupCreationFailedResponse {
1626    #[serde(rename = "user")]
1627    pub user: User,
1628
1629    #[serde(rename = "addRelayResults")]
1630    pub add_relay_results: Vec<AddRelayResult>,
1631
1632    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1633    #[cfg_attr(feature = "bon", builder(default))]
1634    pub undocumented: JsonObject,
1635}
1636
1637#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1638#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1639#[cfg_attr(feature = "bon", builder(on(String, into)))]
1640pub struct RcvFileAcceptedResponse {
1641    #[serde(rename = "user")]
1642    pub user: User,
1643
1644    #[serde(rename = "chatItem")]
1645    pub chat_item: AChatItem,
1646
1647    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1648    #[cfg_attr(feature = "bon", builder(default))]
1649    pub undocumented: JsonObject,
1650}
1651
1652#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1653#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1654#[cfg_attr(feature = "bon", builder(on(String, into)))]
1655pub struct RcvFileAcceptedSndCancelledResponse {
1656    #[serde(rename = "user")]
1657    pub user: User,
1658
1659    #[serde(rename = "rcvFileTransfer")]
1660    pub rcv_file_transfer: RcvFileTransfer,
1661
1662    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1663    #[cfg_attr(feature = "bon", builder(default))]
1664    pub undocumented: JsonObject,
1665}
1666
1667#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1668#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1669#[cfg_attr(feature = "bon", builder(on(String, into)))]
1670pub struct RcvFileCancelledResponse {
1671    #[serde(rename = "user")]
1672    pub user: User,
1673
1674    #[serde(rename = "chatItem_", skip_serializing_if = "Option::is_none")]
1675    pub chat_item: Option<AChatItem>,
1676
1677    #[serde(rename = "rcvFileTransfer")]
1678    pub rcv_file_transfer: RcvFileTransfer,
1679
1680    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1681    #[cfg_attr(feature = "bon", builder(default))]
1682    pub undocumented: JsonObject,
1683}
1684
1685#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1686#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1687#[cfg_attr(feature = "bon", builder(on(String, into)))]
1688pub struct RelayGroupAllowedResponse {
1689    #[serde(rename = "user")]
1690    pub user: User,
1691
1692    #[serde(rename = "groupInfo")]
1693    pub group_info: GroupInfo,
1694
1695    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1696    #[cfg_attr(feature = "bon", builder(default))]
1697    pub undocumented: JsonObject,
1698}
1699
1700#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1701#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1702#[cfg_attr(feature = "bon", builder(on(String, into)))]
1703pub struct SentConfirmationResponse {
1704    #[serde(rename = "user")]
1705    pub user: User,
1706
1707    #[serde(rename = "connection")]
1708    pub connection: PendingContactConnection,
1709
1710    #[serde(rename = "customUserProfile", skip_serializing_if = "Option::is_none")]
1711    pub custom_user_profile: Option<Profile>,
1712
1713    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1714    #[cfg_attr(feature = "bon", builder(default))]
1715    pub undocumented: JsonObject,
1716}
1717
1718#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1719#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1720#[cfg_attr(feature = "bon", builder(on(String, into)))]
1721pub struct SentGroupInvitationResponse {
1722    #[serde(rename = "user")]
1723    pub user: User,
1724
1725    #[serde(rename = "groupInfo")]
1726    pub group_info: GroupInfo,
1727
1728    #[serde(rename = "contact")]
1729    pub contact: Contact,
1730
1731    #[serde(rename = "member")]
1732    pub member: GroupMember,
1733
1734    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1735    #[cfg_attr(feature = "bon", builder(default))]
1736    pub undocumented: JsonObject,
1737}
1738
1739#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1740#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1741#[cfg_attr(feature = "bon", builder(on(String, into)))]
1742pub struct SentInvitationResponse {
1743    #[serde(rename = "user")]
1744    pub user: User,
1745
1746    #[serde(rename = "connection")]
1747    pub connection: PendingContactConnection,
1748
1749    #[serde(rename = "customUserProfile", skip_serializing_if = "Option::is_none")]
1750    pub custom_user_profile: Option<Profile>,
1751
1752    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1753    #[cfg_attr(feature = "bon", builder(default))]
1754    pub undocumented: JsonObject,
1755}
1756
1757#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1758#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1759#[cfg_attr(feature = "bon", builder(on(String, into)))]
1760pub struct SndFileCancelledResponse {
1761    #[serde(rename = "user")]
1762    pub user: User,
1763
1764    #[serde(rename = "chatItem_", skip_serializing_if = "Option::is_none")]
1765    pub chat_item: Option<AChatItem>,
1766
1767    #[serde(rename = "fileTransferMeta")]
1768    pub file_transfer_meta: FileTransferMeta,
1769
1770    #[serde(rename = "sndFileTransfers")]
1771    pub snd_file_transfers: Vec<SndFileTransfer>,
1772
1773    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1774    #[cfg_attr(feature = "bon", builder(default))]
1775    pub undocumented: JsonObject,
1776}
1777
1778#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1779#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1780#[cfg_attr(feature = "bon", builder(on(String, into)))]
1781pub struct UserAcceptedGroupSentResponse {
1782    #[serde(rename = "user")]
1783    pub user: User,
1784
1785    #[serde(rename = "groupInfo")]
1786    pub group_info: GroupInfo,
1787
1788    #[serde(rename = "hostContact", skip_serializing_if = "Option::is_none")]
1789    pub host_contact: Option<Contact>,
1790
1791    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1792    #[cfg_attr(feature = "bon", builder(default))]
1793    pub undocumented: JsonObject,
1794}
1795
1796#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1797#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1798#[cfg_attr(feature = "bon", builder(on(String, into)))]
1799pub struct UserContactLinkCreatedResponse {
1800    #[serde(rename = "user")]
1801    pub user: User,
1802
1803    #[serde(rename = "connLinkContact")]
1804    pub conn_link_contact: CreatedConnLink,
1805
1806    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1807    #[cfg_attr(feature = "bon", builder(default))]
1808    pub undocumented: JsonObject,
1809}
1810
1811#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1812#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1813#[cfg_attr(feature = "bon", builder(on(String, into)))]
1814pub struct UserContactLinkDeletedResponse {
1815    #[serde(rename = "user")]
1816    pub user: User,
1817
1818    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1819    #[cfg_attr(feature = "bon", builder(default))]
1820    pub undocumented: JsonObject,
1821}
1822
1823#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1824#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1825#[cfg_attr(feature = "bon", builder(on(String, into)))]
1826pub struct UserContactLinkResponse {
1827    #[serde(rename = "user")]
1828    pub user: User,
1829
1830    #[serde(rename = "contactLink")]
1831    pub contact_link: UserContactLink,
1832
1833    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1834    #[cfg_attr(feature = "bon", builder(default))]
1835    pub undocumented: JsonObject,
1836}
1837
1838#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1839#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1840#[cfg_attr(feature = "bon", builder(on(String, into)))]
1841pub struct UserContactLinkUpdatedResponse {
1842    #[serde(rename = "user")]
1843    pub user: User,
1844
1845    #[serde(rename = "contactLink")]
1846    pub contact_link: UserContactLink,
1847
1848    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1849    #[cfg_attr(feature = "bon", builder(default))]
1850    pub undocumented: JsonObject,
1851}
1852
1853#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1854#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1855#[cfg_attr(feature = "bon", builder(on(String, into)))]
1856pub struct UserDeletedMembersResponse {
1857    #[serde(rename = "user")]
1858    pub user: User,
1859
1860    #[serde(rename = "groupInfo")]
1861    pub group_info: GroupInfo,
1862
1863    #[serde(rename = "members")]
1864    pub members: Vec<GroupMember>,
1865
1866    #[serde(rename = "withMessages", default)]
1867    pub with_messages: bool,
1868
1869    #[serde(rename = "msgSigned", default)]
1870    pub msg_signed: bool,
1871
1872    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1873    #[cfg_attr(feature = "bon", builder(default))]
1874    pub undocumented: JsonObject,
1875}
1876
1877#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1878#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1879#[cfg_attr(feature = "bon", builder(on(String, into)))]
1880pub struct UserProfileNoChangeResponse {
1881    #[serde(rename = "user")]
1882    pub user: User,
1883
1884    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1885    #[cfg_attr(feature = "bon", builder(default))]
1886    pub undocumented: JsonObject,
1887}
1888
1889#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1890#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1891#[cfg_attr(feature = "bon", builder(on(String, into)))]
1892pub struct UserProfileUpdatedResponse {
1893    #[serde(rename = "user")]
1894    pub user: User,
1895
1896    #[serde(rename = "fromProfile")]
1897    pub from_profile: Profile,
1898
1899    #[serde(rename = "toProfile")]
1900    pub to_profile: Profile,
1901
1902    #[serde(rename = "updateSummary")]
1903    pub update_summary: UserProfileUpdateSummary,
1904
1905    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1906    #[cfg_attr(feature = "bon", builder(default))]
1907    pub undocumented: JsonObject,
1908}
1909
1910#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1911#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1912#[cfg_attr(feature = "bon", builder(on(String, into)))]
1913pub struct UsersListResponse {
1914    #[serde(rename = "users")]
1915    pub users: Vec<UserInfo>,
1916
1917    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1918    #[cfg_attr(feature = "bon", builder(default))]
1919    pub undocumented: JsonObject,
1920}