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 ApiUpdateGroupProfileResponse {
455    /// GroupUpdated: Group updated.
456    #[serde(rename = "groupUpdated")]
457    GroupUpdated(Arc<GroupUpdatedResponse>),
458}
459
460impl ApiUpdateGroupProfileResponse {
461    pub fn into_inner(self) -> Arc<GroupUpdatedResponse> {
462        match self {
463            Self::GroupUpdated(inner) => inner,
464        }
465    }
466}
467
468#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
469#[serde(tag = "type")]
470pub enum ApiCreateGroupLinkResponse {
471    /// GroupLinkCreated: Group link created.
472    #[serde(rename = "groupLinkCreated")]
473    GroupLinkCreated(Arc<GroupLinkCreatedResponse>),
474}
475
476impl ApiCreateGroupLinkResponse {
477    pub fn into_inner(self) -> Arc<GroupLinkCreatedResponse> {
478        match self {
479            Self::GroupLinkCreated(inner) => inner,
480        }
481    }
482}
483
484#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
485#[serde(tag = "type")]
486pub enum ApiGroupLinkMemberRoleResponse {
487    /// GroupLink: Group link.
488    #[serde(rename = "groupLink")]
489    GroupLink(Arc<GroupLinkResponse>),
490}
491
492impl ApiGroupLinkMemberRoleResponse {
493    pub fn into_inner(self) -> Arc<GroupLinkResponse> {
494        match self {
495            Self::GroupLink(inner) => inner,
496        }
497    }
498}
499
500#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
501#[serde(tag = "type")]
502pub enum ApiDeleteGroupLinkResponse {
503    /// GroupLinkDeleted: Group link deleted.
504    #[serde(rename = "groupLinkDeleted")]
505    GroupLinkDeleted(Arc<GroupLinkDeletedResponse>),
506}
507
508impl ApiDeleteGroupLinkResponse {
509    pub fn into_inner(self) -> Arc<GroupLinkDeletedResponse> {
510        match self {
511            Self::GroupLinkDeleted(inner) => inner,
512        }
513    }
514}
515
516#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
517#[serde(tag = "type")]
518pub enum ApiGetGroupLinkResponse {
519    /// GroupLink: Group link.
520    #[serde(rename = "groupLink")]
521    GroupLink(Arc<GroupLinkResponse>),
522}
523
524impl ApiGetGroupLinkResponse {
525    pub fn into_inner(self) -> Arc<GroupLinkResponse> {
526        match self {
527            Self::GroupLink(inner) => inner,
528        }
529    }
530}
531
532#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
533#[serde(tag = "type")]
534pub enum ApiAddContactResponse {
535    /// Invitation: One-time invitation.
536    #[serde(rename = "invitation")]
537    Invitation(Arc<InvitationResponse>),
538}
539
540impl ApiAddContactResponse {
541    pub fn into_inner(self) -> Arc<InvitationResponse> {
542        match self {
543            Self::Invitation(inner) => inner,
544        }
545    }
546}
547
548#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
549#[serde(tag = "type")]
550pub enum ApiConnectPlanResponse {
551    /// ConnectionPlan: Connection link information.
552    #[serde(rename = "connectionPlan")]
553    ConnectionPlan(Arc<ConnectionPlanResponse>),
554}
555
556impl ApiConnectPlanResponse {
557    pub fn into_inner(self) -> Arc<ConnectionPlanResponse> {
558        match self {
559            Self::ConnectionPlan(inner) => inner,
560        }
561    }
562}
563
564#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
565#[serde(tag = "type")]
566pub enum ApiConnectResponse {
567    /// SentConfirmation: Confirmation sent to one-time invitation.
568    #[serde(rename = "sentConfirmation")]
569    SentConfirmation(Arc<SentConfirmationResponse>),
570    /// ContactAlreadyExists: Contact already exists.
571    #[serde(rename = "contactAlreadyExists")]
572    ContactAlreadyExists(Arc<ContactAlreadyExistsResponse>),
573    /// SentInvitation: Invitation sent to contact address.
574    #[serde(rename = "sentInvitation")]
575    SentInvitation(Arc<SentInvitationResponse>),
576}
577
578impl ApiConnectResponse {
579    pub fn sent_confirmation(&self) -> Option<&SentConfirmationResponse> {
580        if let Self::SentConfirmation(ret) = self {
581            Some(ret)
582        } else {
583            None
584        }
585    }
586
587    pub fn contact_already_exists(&self) -> Option<&ContactAlreadyExistsResponse> {
588        if let Self::ContactAlreadyExists(ret) = self {
589            Some(ret)
590        } else {
591            None
592        }
593    }
594
595    pub fn sent_invitation(&self) -> Option<&SentInvitationResponse> {
596        if let Self::SentInvitation(ret) = self {
597            Some(ret)
598        } else {
599            None
600        }
601    }
602}
603
604#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
605#[serde(tag = "type")]
606pub enum ConnectResponse {
607    /// SentConfirmation: Confirmation sent to one-time invitation.
608    #[serde(rename = "sentConfirmation")]
609    SentConfirmation(Arc<SentConfirmationResponse>),
610    /// ContactAlreadyExists: Contact already exists.
611    #[serde(rename = "contactAlreadyExists")]
612    ContactAlreadyExists(Arc<ContactAlreadyExistsResponse>),
613    /// SentInvitation: Invitation sent to contact address.
614    #[serde(rename = "sentInvitation")]
615    SentInvitation(Arc<SentInvitationResponse>),
616}
617
618impl ConnectResponse {
619    pub fn sent_confirmation(&self) -> Option<&SentConfirmationResponse> {
620        if let Self::SentConfirmation(ret) = self {
621            Some(ret)
622        } else {
623            None
624        }
625    }
626
627    pub fn contact_already_exists(&self) -> Option<&ContactAlreadyExistsResponse> {
628        if let Self::ContactAlreadyExists(ret) = self {
629            Some(ret)
630        } else {
631            None
632        }
633    }
634
635    pub fn sent_invitation(&self) -> Option<&SentInvitationResponse> {
636        if let Self::SentInvitation(ret) = self {
637            Some(ret)
638        } else {
639            None
640        }
641    }
642}
643
644#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
645#[serde(tag = "type")]
646pub enum ApiAcceptContactResponse {
647    /// AcceptingContactRequest: Contact request accepted.
648    #[serde(rename = "acceptingContactRequest")]
649    AcceptingContactRequest(Arc<AcceptingContactRequestResponse>),
650}
651
652impl ApiAcceptContactResponse {
653    pub fn into_inner(self) -> Arc<AcceptingContactRequestResponse> {
654        match self {
655            Self::AcceptingContactRequest(inner) => inner,
656        }
657    }
658}
659
660#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
661#[serde(tag = "type")]
662pub enum ApiRejectContactResponse {
663    /// ContactRequestRejected: Contact request rejected.
664    #[serde(rename = "contactRequestRejected")]
665    ContactRequestRejected(Arc<ContactRequestRejectedResponse>),
666}
667
668impl ApiRejectContactResponse {
669    pub fn into_inner(self) -> Arc<ContactRequestRejectedResponse> {
670        match self {
671            Self::ContactRequestRejected(inner) => inner,
672        }
673    }
674}
675
676#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
677#[serde(tag = "type")]
678pub enum ApiListContactsResponse {
679    /// ContactsList: Contacts.
680    #[serde(rename = "contactsList")]
681    ContactsList(Arc<ContactsListResponse>),
682}
683
684impl ApiListContactsResponse {
685    pub fn into_inner(self) -> Arc<ContactsListResponse> {
686        match self {
687            Self::ContactsList(inner) => inner,
688        }
689    }
690}
691
692#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
693#[serde(tag = "type")]
694pub enum ApiListGroupsResponse {
695    /// GroupsList: Groups.
696    #[serde(rename = "groupsList")]
697    GroupsList(Arc<GroupsListResponse>),
698}
699
700impl ApiListGroupsResponse {
701    pub fn into_inner(self) -> Arc<GroupsListResponse> {
702        match self {
703            Self::GroupsList(inner) => inner,
704        }
705    }
706}
707
708#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
709#[serde(tag = "type")]
710pub enum ApiGetChatsResponse {
711    /// ApiChats: Chat previews (paginated). Use this instead of CRContactsList / CRGroupsList when scanning at scale..
712    #[serde(rename = "apiChats")]
713    ApiChats(Arc<ApiChatsResponse>),
714}
715
716impl ApiGetChatsResponse {
717    pub fn into_inner(self) -> Arc<ApiChatsResponse> {
718        match self {
719            Self::ApiChats(inner) => inner,
720        }
721    }
722}
723
724#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
725#[serde(tag = "type")]
726pub enum ApiDeleteChatResponse {
727    /// ContactDeleted: Contact deleted.
728    #[serde(rename = "contactDeleted")]
729    ContactDeleted(Arc<ContactDeletedResponse>),
730    /// ContactConnectionDeleted: Connection deleted.
731    #[serde(rename = "contactConnectionDeleted")]
732    ContactConnectionDeleted(Arc<ContactConnectionDeletedResponse>),
733    /// GroupDeletedUser: User deleted group.
734    #[serde(rename = "groupDeletedUser")]
735    GroupDeletedUser(Arc<GroupDeletedUserResponse>),
736}
737
738impl ApiDeleteChatResponse {
739    pub fn contact_deleted(&self) -> Option<&ContactDeletedResponse> {
740        if let Self::ContactDeleted(ret) = self {
741            Some(ret)
742        } else {
743            None
744        }
745    }
746
747    pub fn contact_connection_deleted(&self) -> Option<&ContactConnectionDeletedResponse> {
748        if let Self::ContactConnectionDeleted(ret) = self {
749            Some(ret)
750        } else {
751            None
752        }
753    }
754
755    pub fn group_deleted_user(&self) -> Option<&GroupDeletedUserResponse> {
756        if let Self::GroupDeletedUser(ret) = self {
757            Some(ret)
758        } else {
759            None
760        }
761    }
762}
763
764#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
765#[serde(tag = "type")]
766pub enum ApiSetGroupCustomDataResponse {
767    /// CmdOk: Ok.
768    #[serde(rename = "cmdOk")]
769    CmdOk(Arc<CmdOkResponse>),
770}
771
772impl ApiSetGroupCustomDataResponse {
773    pub fn into_inner(self) -> Arc<CmdOkResponse> {
774        match self {
775            Self::CmdOk(inner) => inner,
776        }
777    }
778}
779
780#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
781#[serde(tag = "type")]
782pub enum ApiSetContactCustomDataResponse {
783    /// CmdOk: Ok.
784    #[serde(rename = "cmdOk")]
785    CmdOk(Arc<CmdOkResponse>),
786}
787
788impl ApiSetContactCustomDataResponse {
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 ApiSetUserAutoAcceptMemberContactsResponse {
799    /// CmdOk: Ok.
800    #[serde(rename = "cmdOk")]
801    CmdOk(Arc<CmdOkResponse>),
802}
803
804impl ApiSetUserAutoAcceptMemberContactsResponse {
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 ShowActiveUserResponse {
815    /// ActiveUser: Active user profile.
816    #[serde(rename = "activeUser")]
817    ActiveUser(Arc<ActiveUserResponse>),
818}
819
820impl ShowActiveUserResponse {
821    pub fn into_inner(self) -> Arc<ActiveUserResponse> {
822        match self {
823            Self::ActiveUser(inner) => inner,
824        }
825    }
826}
827
828#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
829#[serde(tag = "type")]
830pub enum CreateActiveUserResponse {
831    /// ActiveUser: Active user profile.
832    #[serde(rename = "activeUser")]
833    ActiveUser(Arc<ActiveUserResponse>),
834}
835
836impl CreateActiveUserResponse {
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 ListUsersResponse {
847    /// UsersList: Users.
848    #[serde(rename = "usersList")]
849    UsersList(Arc<UsersListResponse>),
850}
851
852impl ListUsersResponse {
853    pub fn into_inner(self) -> Arc<UsersListResponse> {
854        match self {
855            Self::UsersList(inner) => inner,
856        }
857    }
858}
859
860#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
861#[serde(tag = "type")]
862pub enum ApiSetActiveUserResponse {
863    /// ActiveUser: Active user profile.
864    #[serde(rename = "activeUser")]
865    ActiveUser(Arc<ActiveUserResponse>),
866}
867
868impl ApiSetActiveUserResponse {
869    pub fn into_inner(self) -> Arc<ActiveUserResponse> {
870        match self {
871            Self::ActiveUser(inner) => inner,
872        }
873    }
874}
875
876#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
877#[serde(tag = "type")]
878pub enum ApiDeleteUserResponse {
879    /// CmdOk: Ok.
880    #[serde(rename = "cmdOk")]
881    CmdOk(Arc<CmdOkResponse>),
882}
883
884impl ApiDeleteUserResponse {
885    pub fn into_inner(self) -> Arc<CmdOkResponse> {
886        match self {
887            Self::CmdOk(inner) => inner,
888        }
889    }
890}
891
892#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
893#[serde(tag = "type")]
894pub enum ApiUpdateProfileResponse {
895    /// UserProfileUpdated: User profile updated.
896    #[serde(rename = "userProfileUpdated")]
897    UserProfileUpdated(Arc<UserProfileUpdatedResponse>),
898    /// UserProfileNoChange: User profile was not changed.
899    #[serde(rename = "userProfileNoChange")]
900    UserProfileNoChange(Arc<UserProfileNoChangeResponse>),
901}
902
903impl ApiUpdateProfileResponse {
904    pub fn user_profile_updated(&self) -> Option<&UserProfileUpdatedResponse> {
905        if let Self::UserProfileUpdated(ret) = self {
906            Some(ret)
907        } else {
908            None
909        }
910    }
911
912    pub fn user_profile_no_change(&self) -> Option<&UserProfileNoChangeResponse> {
913        if let Self::UserProfileNoChange(ret) = self {
914            Some(ret)
915        } else {
916            None
917        }
918    }
919}
920
921#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
922#[serde(tag = "type")]
923pub enum ApiSetContactPrefsResponse {
924    /// ContactPrefsUpdated: Contact preferences updated.
925    #[serde(rename = "contactPrefsUpdated")]
926    ContactPrefsUpdated(Arc<ContactPrefsUpdatedResponse>),
927}
928
929impl ApiSetContactPrefsResponse {
930    pub fn into_inner(self) -> Arc<ContactPrefsUpdatedResponse> {
931        match self {
932            Self::ContactPrefsUpdated(inner) => inner,
933        }
934    }
935}
936
937#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
938#[serde(tag = "type")]
939pub enum StartChatResponse {
940    /// ChatStarted: Chat started.
941    #[serde(rename = "chatStarted")]
942    ChatStarted(Arc<ChatStartedResponse>),
943    /// ChatRunning: Chat running.
944    #[serde(rename = "chatRunning")]
945    ChatRunning(Arc<ChatRunningResponse>),
946}
947
948impl StartChatResponse {
949    pub fn chat_started(&self) -> Option<&ChatStartedResponse> {
950        if let Self::ChatStarted(ret) = self {
951            Some(ret)
952        } else {
953            None
954        }
955    }
956
957    pub fn chat_running(&self) -> Option<&ChatRunningResponse> {
958        if let Self::ChatRunning(ret) = self {
959            Some(ret)
960        } else {
961            None
962        }
963    }
964}
965
966#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
967#[serde(tag = "type")]
968pub enum ApiStopChatResponse {
969    /// ChatStopped: Chat stopped.
970    #[serde(rename = "chatStopped")]
971    ChatStopped(Arc<ChatStoppedResponse>),
972}
973
974impl ApiStopChatResponse {
975    pub fn into_inner(self) -> Arc<ChatStoppedResponse> {
976        match self {
977            Self::ChatStopped(inner) => inner,
978        }
979    }
980}
981
982#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
983#[serde(tag = "type")]
984pub enum ChatCmdError {
985    #[serde(rename = "chatCmdError")]
986    ChatCmdErrorResponse(Arc<ChatCmdErrorResponse>),
987}
988
989impl ChatCmdError {
990    pub fn into_inner(self) -> Arc<ChatCmdErrorResponse> {
991        match self {
992            Self::ChatCmdErrorResponse(inner) => inner,
993        }
994    }
995}
996
997#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
998#[cfg_attr(feature = "bon", derive(::bon::Builder))]
999#[cfg_attr(feature = "bon", builder(on(String, into)))]
1000pub struct ChatCmdErrorResponse {
1001    #[serde(rename = "chatError")]
1002    pub chat_error: Arc<errors::ChatError>,
1003
1004    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1005    #[cfg_attr(feature = "bon", builder(default))]
1006    pub undocumented: JsonObject,
1007}
1008
1009#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1010#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1011#[cfg_attr(feature = "bon", builder(on(String, into)))]
1012pub struct AcceptingContactRequestResponse {
1013    #[serde(rename = "user")]
1014    pub user: User,
1015
1016    #[serde(rename = "contact")]
1017    pub contact: Contact,
1018
1019    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1020    #[cfg_attr(feature = "bon", builder(default))]
1021    pub undocumented: JsonObject,
1022}
1023
1024#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1025#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1026#[cfg_attr(feature = "bon", builder(on(String, into)))]
1027pub struct ActiveUserResponse {
1028    #[serde(rename = "user")]
1029    pub user: User,
1030
1031    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1032    #[cfg_attr(feature = "bon", builder(default))]
1033    pub undocumented: JsonObject,
1034}
1035
1036#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1037#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1038#[cfg_attr(feature = "bon", builder(on(String, into)))]
1039pub struct ApiChatsResponse {
1040    #[serde(rename = "user")]
1041    pub user: User,
1042
1043    #[serde(rename = "chats")]
1044    pub chats: Vec<AChat>,
1045
1046    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1047    #[cfg_attr(feature = "bon", builder(default))]
1048    pub undocumented: JsonObject,
1049}
1050
1051#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1052#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1053#[cfg_attr(feature = "bon", builder(on(String, into)))]
1054pub struct ChatItemNotChangedResponse {
1055    #[serde(rename = "user")]
1056    pub user: User,
1057
1058    #[serde(rename = "chatItem")]
1059    pub chat_item: AChatItem,
1060
1061    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1062    #[cfg_attr(feature = "bon", builder(default))]
1063    pub undocumented: JsonObject,
1064}
1065
1066#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1067#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1068#[cfg_attr(feature = "bon", builder(on(String, into)))]
1069pub struct ChatItemReactionResponse {
1070    #[serde(rename = "user")]
1071    pub user: User,
1072
1073    #[serde(rename = "added", default)]
1074    pub added: bool,
1075
1076    #[serde(rename = "reaction")]
1077    pub reaction: ACIReaction,
1078
1079    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1080    #[cfg_attr(feature = "bon", builder(default))]
1081    pub undocumented: JsonObject,
1082}
1083
1084#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1085#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1086#[cfg_attr(feature = "bon", builder(on(String, into)))]
1087pub struct ChatItemUpdatedResponse {
1088    #[serde(rename = "user")]
1089    pub user: User,
1090
1091    #[serde(rename = "chatItem")]
1092    pub chat_item: AChatItem,
1093
1094    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1095    #[cfg_attr(feature = "bon", builder(default))]
1096    pub undocumented: JsonObject,
1097}
1098
1099#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1100#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1101#[cfg_attr(feature = "bon", builder(on(String, into)))]
1102pub struct ChatItemsDeletedResponse {
1103    #[serde(rename = "user")]
1104    pub user: User,
1105
1106    #[serde(rename = "chatItemDeletions")]
1107    pub chat_item_deletions: Vec<ChatItemDeletion>,
1108
1109    #[serde(rename = "byUser", default)]
1110    pub by_user: bool,
1111
1112    #[serde(rename = "timed", default)]
1113    pub timed: bool,
1114
1115    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1116    #[cfg_attr(feature = "bon", builder(default))]
1117    pub undocumented: JsonObject,
1118}
1119
1120#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1121#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1122#[cfg_attr(feature = "bon", builder(on(String, into)))]
1123pub struct ChatRunningResponse {
1124    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1125    #[cfg_attr(feature = "bon", builder(default))]
1126    pub undocumented: JsonObject,
1127}
1128
1129#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1130#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1131#[cfg_attr(feature = "bon", builder(on(String, into)))]
1132pub struct ChatStartedResponse {
1133    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1134    #[cfg_attr(feature = "bon", builder(default))]
1135    pub undocumented: JsonObject,
1136}
1137
1138#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1139#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1140#[cfg_attr(feature = "bon", builder(on(String, into)))]
1141pub struct ChatStoppedResponse {
1142    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1143    #[cfg_attr(feature = "bon", builder(default))]
1144    pub undocumented: JsonObject,
1145}
1146
1147#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1148#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1149#[cfg_attr(feature = "bon", builder(on(String, into)))]
1150pub struct CmdOkResponse {
1151    #[serde(rename = "user_", skip_serializing_if = "Option::is_none")]
1152    pub user: Option<User>,
1153
1154    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1155    #[cfg_attr(feature = "bon", builder(default))]
1156    pub undocumented: JsonObject,
1157}
1158
1159#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1160#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1161#[cfg_attr(feature = "bon", builder(on(String, into)))]
1162pub struct ConnectionPlanResponse {
1163    #[serde(rename = "user")]
1164    pub user: User,
1165
1166    #[serde(rename = "connLink")]
1167    pub conn_link: CreatedConnLink,
1168
1169    #[serde(rename = "connectionPlan")]
1170    pub connection_plan: ConnectionPlan,
1171
1172    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1173    #[cfg_attr(feature = "bon", builder(default))]
1174    pub undocumented: JsonObject,
1175}
1176
1177#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1178#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1179#[cfg_attr(feature = "bon", builder(on(String, into)))]
1180pub struct ContactAlreadyExistsResponse {
1181    #[serde(rename = "user")]
1182    pub user: User,
1183
1184    #[serde(rename = "contact")]
1185    pub contact: Contact,
1186
1187    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1188    #[cfg_attr(feature = "bon", builder(default))]
1189    pub undocumented: JsonObject,
1190}
1191
1192#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1193#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1194#[cfg_attr(feature = "bon", builder(on(String, into)))]
1195pub struct ContactConnectionDeletedResponse {
1196    #[serde(rename = "user")]
1197    pub user: User,
1198
1199    #[serde(rename = "connection")]
1200    pub connection: PendingContactConnection,
1201
1202    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1203    #[cfg_attr(feature = "bon", builder(default))]
1204    pub undocumented: JsonObject,
1205}
1206
1207#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1208#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1209#[cfg_attr(feature = "bon", builder(on(String, into)))]
1210pub struct ContactDeletedResponse {
1211    #[serde(rename = "user")]
1212    pub user: User,
1213
1214    #[serde(rename = "contact")]
1215    pub contact: Contact,
1216
1217    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1218    #[cfg_attr(feature = "bon", builder(default))]
1219    pub undocumented: JsonObject,
1220}
1221
1222#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1223#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1224#[cfg_attr(feature = "bon", builder(on(String, into)))]
1225pub struct ContactPrefsUpdatedResponse {
1226    #[serde(rename = "user")]
1227    pub user: User,
1228
1229    #[serde(rename = "fromContact")]
1230    pub from_contact: Contact,
1231
1232    #[serde(rename = "toContact")]
1233    pub to_contact: Contact,
1234
1235    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1236    #[cfg_attr(feature = "bon", builder(default))]
1237    pub undocumented: JsonObject,
1238}
1239
1240#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1241#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1242#[cfg_attr(feature = "bon", builder(on(String, into)))]
1243pub struct ContactRequestRejectedResponse {
1244    #[serde(rename = "user")]
1245    pub user: User,
1246
1247    #[serde(rename = "contactRequest")]
1248    pub contact_request: UserContactRequest,
1249
1250    #[serde(rename = "contact_", skip_serializing_if = "Option::is_none")]
1251    pub contact: Option<Contact>,
1252
1253    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1254    #[cfg_attr(feature = "bon", builder(default))]
1255    pub undocumented: JsonObject,
1256}
1257
1258#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1259#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1260#[cfg_attr(feature = "bon", builder(on(String, into)))]
1261pub struct ContactsListResponse {
1262    #[serde(rename = "user")]
1263    pub user: User,
1264
1265    #[serde(rename = "contacts")]
1266    pub contacts: Vec<Contact>,
1267
1268    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1269    #[cfg_attr(feature = "bon", builder(default))]
1270    pub undocumented: JsonObject,
1271}
1272
1273#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1274#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1275#[cfg_attr(feature = "bon", builder(on(String, into)))]
1276pub struct GroupCreatedResponse {
1277    #[serde(rename = "user")]
1278    pub user: User,
1279
1280    #[serde(rename = "groupInfo")]
1281    pub group_info: GroupInfo,
1282
1283    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1284    #[cfg_attr(feature = "bon", builder(default))]
1285    pub undocumented: JsonObject,
1286}
1287
1288#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1289#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1290#[cfg_attr(feature = "bon", builder(on(String, into)))]
1291pub struct GroupDeletedUserResponse {
1292    #[serde(rename = "user")]
1293    pub user: User,
1294
1295    #[serde(rename = "groupInfo")]
1296    pub group_info: GroupInfo,
1297
1298    #[serde(rename = "msgSigned", default)]
1299    pub msg_signed: bool,
1300
1301    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1302    #[cfg_attr(feature = "bon", builder(default))]
1303    pub undocumented: JsonObject,
1304}
1305
1306#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1307#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1308#[cfg_attr(feature = "bon", builder(on(String, into)))]
1309pub struct GroupLinkCreatedResponse {
1310    #[serde(rename = "user")]
1311    pub user: User,
1312
1313    #[serde(rename = "groupInfo")]
1314    pub group_info: GroupInfo,
1315
1316    #[serde(rename = "groupLink")]
1317    pub group_link: GroupLink,
1318
1319    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1320    #[cfg_attr(feature = "bon", builder(default))]
1321    pub undocumented: JsonObject,
1322}
1323
1324#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1325#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1326#[cfg_attr(feature = "bon", builder(on(String, into)))]
1327pub struct GroupLinkDeletedResponse {
1328    #[serde(rename = "user")]
1329    pub user: User,
1330
1331    #[serde(rename = "groupInfo")]
1332    pub group_info: GroupInfo,
1333
1334    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1335    #[cfg_attr(feature = "bon", builder(default))]
1336    pub undocumented: JsonObject,
1337}
1338
1339#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1340#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1341#[cfg_attr(feature = "bon", builder(on(String, into)))]
1342pub struct GroupLinkResponse {
1343    #[serde(rename = "user")]
1344    pub user: User,
1345
1346    #[serde(rename = "groupInfo")]
1347    pub group_info: GroupInfo,
1348
1349    #[serde(rename = "groupLink")]
1350    pub group_link: GroupLink,
1351
1352    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1353    #[cfg_attr(feature = "bon", builder(default))]
1354    pub undocumented: JsonObject,
1355}
1356
1357#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1358#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1359#[cfg_attr(feature = "bon", builder(on(String, into)))]
1360pub struct GroupMembersResponse {
1361    #[serde(rename = "user")]
1362    pub user: User,
1363
1364    #[serde(rename = "group")]
1365    pub group: Group,
1366
1367    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1368    #[cfg_attr(feature = "bon", builder(default))]
1369    pub undocumented: JsonObject,
1370}
1371
1372#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1373#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1374#[cfg_attr(feature = "bon", builder(on(String, into)))]
1375pub struct GroupRelaysAddFailedResponse {
1376    #[serde(rename = "user")]
1377    pub user: User,
1378
1379    #[serde(rename = "addRelayResults")]
1380    pub add_relay_results: Vec<AddRelayResult>,
1381
1382    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1383    #[cfg_attr(feature = "bon", builder(default))]
1384    pub undocumented: JsonObject,
1385}
1386
1387#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1388#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1389#[cfg_attr(feature = "bon", builder(on(String, into)))]
1390pub struct GroupRelaysAddedResponse {
1391    #[serde(rename = "user")]
1392    pub user: User,
1393
1394    #[serde(rename = "groupInfo")]
1395    pub group_info: GroupInfo,
1396
1397    #[serde(rename = "groupLink")]
1398    pub group_link: GroupLink,
1399
1400    #[serde(rename = "groupRelays")]
1401    pub group_relays: Vec<GroupRelay>,
1402
1403    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1404    #[cfg_attr(feature = "bon", builder(default))]
1405    pub undocumented: JsonObject,
1406}
1407
1408#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1409#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1410#[cfg_attr(feature = "bon", builder(on(String, into)))]
1411pub struct GroupRelaysResponse {
1412    #[serde(rename = "user")]
1413    pub user: User,
1414
1415    #[serde(rename = "groupInfo")]
1416    pub group_info: GroupInfo,
1417
1418    #[serde(rename = "groupRelays")]
1419    pub group_relays: Vec<GroupRelay>,
1420
1421    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1422    #[cfg_attr(feature = "bon", builder(default))]
1423    pub undocumented: JsonObject,
1424}
1425
1426#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1427#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1428#[cfg_attr(feature = "bon", builder(on(String, into)))]
1429pub struct GroupUpdatedResponse {
1430    #[serde(rename = "user")]
1431    pub user: User,
1432
1433    #[serde(rename = "fromGroup")]
1434    pub from_group: GroupInfo,
1435
1436    #[serde(rename = "toGroup")]
1437    pub to_group: GroupInfo,
1438
1439    #[serde(rename = "member_", skip_serializing_if = "Option::is_none")]
1440    pub member: Option<GroupMember>,
1441
1442    #[serde(rename = "msgSigned", default)]
1443    pub msg_signed: bool,
1444
1445    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1446    #[cfg_attr(feature = "bon", builder(default))]
1447    pub undocumented: JsonObject,
1448}
1449
1450#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1451#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1452#[cfg_attr(feature = "bon", builder(on(String, into)))]
1453pub struct GroupsListResponse {
1454    #[serde(rename = "user")]
1455    pub user: User,
1456
1457    #[serde(rename = "groups")]
1458    pub groups: Vec<GroupInfo>,
1459
1460    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1461    #[cfg_attr(feature = "bon", builder(default))]
1462    pub undocumented: JsonObject,
1463}
1464
1465#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1466#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1467#[cfg_attr(feature = "bon", builder(on(String, into)))]
1468pub struct InvitationResponse {
1469    #[serde(rename = "user")]
1470    pub user: User,
1471
1472    #[serde(rename = "connLinkInvitation")]
1473    pub conn_link_invitation: CreatedConnLink,
1474
1475    #[serde(rename = "connection")]
1476    pub connection: PendingContactConnection,
1477
1478    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1479    #[cfg_attr(feature = "bon", builder(default))]
1480    pub undocumented: JsonObject,
1481}
1482
1483#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1484#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1485#[cfg_attr(feature = "bon", builder(on(String, into)))]
1486pub struct LeftMemberUserResponse {
1487    #[serde(rename = "user")]
1488    pub user: User,
1489
1490    #[serde(rename = "groupInfo")]
1491    pub group_info: GroupInfo,
1492
1493    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1494    #[cfg_attr(feature = "bon", builder(default))]
1495    pub undocumented: JsonObject,
1496}
1497
1498#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1499#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1500#[cfg_attr(feature = "bon", builder(on(String, into)))]
1501pub struct MemberAcceptedResponse {
1502    #[serde(rename = "user")]
1503    pub user: User,
1504
1505    #[serde(rename = "groupInfo")]
1506    pub group_info: GroupInfo,
1507
1508    #[serde(rename = "member")]
1509    pub member: GroupMember,
1510
1511    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1512    #[cfg_attr(feature = "bon", builder(default))]
1513    pub undocumented: JsonObject,
1514}
1515
1516#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1517#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1518#[cfg_attr(feature = "bon", builder(on(String, into)))]
1519pub struct MembersBlockedForAllUserResponse {
1520    #[serde(rename = "user")]
1521    pub user: User,
1522
1523    #[serde(rename = "groupInfo")]
1524    pub group_info: GroupInfo,
1525
1526    #[serde(rename = "members")]
1527    pub members: Vec<GroupMember>,
1528
1529    #[serde(rename = "blocked", default)]
1530    pub blocked: bool,
1531
1532    #[serde(rename = "msgSigned", default)]
1533    pub msg_signed: bool,
1534
1535    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1536    #[cfg_attr(feature = "bon", builder(default))]
1537    pub undocumented: JsonObject,
1538}
1539
1540#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1541#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1542#[cfg_attr(feature = "bon", builder(on(String, into)))]
1543pub struct MembersRoleUserResponse {
1544    #[serde(rename = "user")]
1545    pub user: User,
1546
1547    #[serde(rename = "groupInfo")]
1548    pub group_info: GroupInfo,
1549
1550    #[serde(rename = "members")]
1551    pub members: Vec<GroupMember>,
1552
1553    #[serde(rename = "toRole")]
1554    pub to_role: GroupMemberRole,
1555
1556    #[serde(rename = "msgSigned", default)]
1557    pub msg_signed: bool,
1558
1559    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1560    #[cfg_attr(feature = "bon", builder(default))]
1561    pub undocumented: JsonObject,
1562}
1563
1564#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1565#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1566#[cfg_attr(feature = "bon", builder(on(String, into)))]
1567pub struct NewChatItemsResponse {
1568    #[serde(rename = "user")]
1569    pub user: User,
1570
1571    #[serde(rename = "chatItems")]
1572    pub chat_items: Vec<AChatItem>,
1573
1574    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1575    #[cfg_attr(feature = "bon", builder(default))]
1576    pub undocumented: JsonObject,
1577}
1578
1579#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1580#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1581#[cfg_attr(feature = "bon", builder(on(String, into)))]
1582pub struct PublicGroupCreatedResponse {
1583    #[serde(rename = "user")]
1584    pub user: User,
1585
1586    #[serde(rename = "groupInfo")]
1587    pub group_info: GroupInfo,
1588
1589    #[serde(rename = "groupLink")]
1590    pub group_link: GroupLink,
1591
1592    #[serde(rename = "groupRelays")]
1593    pub group_relays: Vec<GroupRelay>,
1594
1595    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1596    #[cfg_attr(feature = "bon", builder(default))]
1597    pub undocumented: JsonObject,
1598}
1599
1600#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1601#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1602#[cfg_attr(feature = "bon", builder(on(String, into)))]
1603pub struct PublicGroupCreationFailedResponse {
1604    #[serde(rename = "user")]
1605    pub user: User,
1606
1607    #[serde(rename = "addRelayResults")]
1608    pub add_relay_results: Vec<AddRelayResult>,
1609
1610    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1611    #[cfg_attr(feature = "bon", builder(default))]
1612    pub undocumented: JsonObject,
1613}
1614
1615#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1616#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1617#[cfg_attr(feature = "bon", builder(on(String, into)))]
1618pub struct RcvFileAcceptedResponse {
1619    #[serde(rename = "user")]
1620    pub user: User,
1621
1622    #[serde(rename = "chatItem")]
1623    pub chat_item: AChatItem,
1624
1625    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1626    #[cfg_attr(feature = "bon", builder(default))]
1627    pub undocumented: JsonObject,
1628}
1629
1630#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1631#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1632#[cfg_attr(feature = "bon", builder(on(String, into)))]
1633pub struct RcvFileAcceptedSndCancelledResponse {
1634    #[serde(rename = "user")]
1635    pub user: User,
1636
1637    #[serde(rename = "rcvFileTransfer")]
1638    pub rcv_file_transfer: RcvFileTransfer,
1639
1640    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1641    #[cfg_attr(feature = "bon", builder(default))]
1642    pub undocumented: JsonObject,
1643}
1644
1645#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1646#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1647#[cfg_attr(feature = "bon", builder(on(String, into)))]
1648pub struct RcvFileCancelledResponse {
1649    #[serde(rename = "user")]
1650    pub user: User,
1651
1652    #[serde(rename = "chatItem_", skip_serializing_if = "Option::is_none")]
1653    pub chat_item: Option<AChatItem>,
1654
1655    #[serde(rename = "rcvFileTransfer")]
1656    pub rcv_file_transfer: RcvFileTransfer,
1657
1658    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1659    #[cfg_attr(feature = "bon", builder(default))]
1660    pub undocumented: JsonObject,
1661}
1662
1663#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1664#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1665#[cfg_attr(feature = "bon", builder(on(String, into)))]
1666pub struct SentConfirmationResponse {
1667    #[serde(rename = "user")]
1668    pub user: User,
1669
1670    #[serde(rename = "connection")]
1671    pub connection: PendingContactConnection,
1672
1673    #[serde(rename = "customUserProfile", skip_serializing_if = "Option::is_none")]
1674    pub custom_user_profile: Option<Profile>,
1675
1676    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1677    #[cfg_attr(feature = "bon", builder(default))]
1678    pub undocumented: JsonObject,
1679}
1680
1681#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1682#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1683#[cfg_attr(feature = "bon", builder(on(String, into)))]
1684pub struct SentGroupInvitationResponse {
1685    #[serde(rename = "user")]
1686    pub user: User,
1687
1688    #[serde(rename = "groupInfo")]
1689    pub group_info: GroupInfo,
1690
1691    #[serde(rename = "contact")]
1692    pub contact: Contact,
1693
1694    #[serde(rename = "member")]
1695    pub member: GroupMember,
1696
1697    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1698    #[cfg_attr(feature = "bon", builder(default))]
1699    pub undocumented: JsonObject,
1700}
1701
1702#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1703#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1704#[cfg_attr(feature = "bon", builder(on(String, into)))]
1705pub struct SentInvitationResponse {
1706    #[serde(rename = "user")]
1707    pub user: User,
1708
1709    #[serde(rename = "connection")]
1710    pub connection: PendingContactConnection,
1711
1712    #[serde(rename = "customUserProfile", skip_serializing_if = "Option::is_none")]
1713    pub custom_user_profile: Option<Profile>,
1714
1715    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1716    #[cfg_attr(feature = "bon", builder(default))]
1717    pub undocumented: JsonObject,
1718}
1719
1720#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1721#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1722#[cfg_attr(feature = "bon", builder(on(String, into)))]
1723pub struct SndFileCancelledResponse {
1724    #[serde(rename = "user")]
1725    pub user: User,
1726
1727    #[serde(rename = "chatItem_", skip_serializing_if = "Option::is_none")]
1728    pub chat_item: Option<AChatItem>,
1729
1730    #[serde(rename = "fileTransferMeta")]
1731    pub file_transfer_meta: FileTransferMeta,
1732
1733    #[serde(rename = "sndFileTransfers")]
1734    pub snd_file_transfers: Vec<SndFileTransfer>,
1735
1736    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1737    #[cfg_attr(feature = "bon", builder(default))]
1738    pub undocumented: JsonObject,
1739}
1740
1741#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1742#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1743#[cfg_attr(feature = "bon", builder(on(String, into)))]
1744pub struct UserAcceptedGroupSentResponse {
1745    #[serde(rename = "user")]
1746    pub user: User,
1747
1748    #[serde(rename = "groupInfo")]
1749    pub group_info: GroupInfo,
1750
1751    #[serde(rename = "hostContact", skip_serializing_if = "Option::is_none")]
1752    pub host_contact: Option<Contact>,
1753
1754    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1755    #[cfg_attr(feature = "bon", builder(default))]
1756    pub undocumented: JsonObject,
1757}
1758
1759#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1760#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1761#[cfg_attr(feature = "bon", builder(on(String, into)))]
1762pub struct UserContactLinkCreatedResponse {
1763    #[serde(rename = "user")]
1764    pub user: User,
1765
1766    #[serde(rename = "connLinkContact")]
1767    pub conn_link_contact: CreatedConnLink,
1768
1769    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1770    #[cfg_attr(feature = "bon", builder(default))]
1771    pub undocumented: JsonObject,
1772}
1773
1774#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1775#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1776#[cfg_attr(feature = "bon", builder(on(String, into)))]
1777pub struct UserContactLinkDeletedResponse {
1778    #[serde(rename = "user")]
1779    pub user: User,
1780
1781    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1782    #[cfg_attr(feature = "bon", builder(default))]
1783    pub undocumented: JsonObject,
1784}
1785
1786#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1787#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1788#[cfg_attr(feature = "bon", builder(on(String, into)))]
1789pub struct UserContactLinkResponse {
1790    #[serde(rename = "user")]
1791    pub user: User,
1792
1793    #[serde(rename = "contactLink")]
1794    pub contact_link: UserContactLink,
1795
1796    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1797    #[cfg_attr(feature = "bon", builder(default))]
1798    pub undocumented: JsonObject,
1799}
1800
1801#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1802#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1803#[cfg_attr(feature = "bon", builder(on(String, into)))]
1804pub struct UserContactLinkUpdatedResponse {
1805    #[serde(rename = "user")]
1806    pub user: User,
1807
1808    #[serde(rename = "contactLink")]
1809    pub contact_link: UserContactLink,
1810
1811    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1812    #[cfg_attr(feature = "bon", builder(default))]
1813    pub undocumented: JsonObject,
1814}
1815
1816#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1817#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1818#[cfg_attr(feature = "bon", builder(on(String, into)))]
1819pub struct UserDeletedMembersResponse {
1820    #[serde(rename = "user")]
1821    pub user: User,
1822
1823    #[serde(rename = "groupInfo")]
1824    pub group_info: GroupInfo,
1825
1826    #[serde(rename = "members")]
1827    pub members: Vec<GroupMember>,
1828
1829    #[serde(rename = "withMessages", default)]
1830    pub with_messages: bool,
1831
1832    #[serde(rename = "msgSigned", default)]
1833    pub msg_signed: bool,
1834
1835    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1836    #[cfg_attr(feature = "bon", builder(default))]
1837    pub undocumented: JsonObject,
1838}
1839
1840#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1841#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1842#[cfg_attr(feature = "bon", builder(on(String, into)))]
1843pub struct UserProfileNoChangeResponse {
1844    #[serde(rename = "user")]
1845    pub user: User,
1846
1847    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1848    #[cfg_attr(feature = "bon", builder(default))]
1849    pub undocumented: JsonObject,
1850}
1851
1852#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1853#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1854#[cfg_attr(feature = "bon", builder(on(String, into)))]
1855pub struct UserProfileUpdatedResponse {
1856    #[serde(rename = "user")]
1857    pub user: User,
1858
1859    #[serde(rename = "fromProfile")]
1860    pub from_profile: Profile,
1861
1862    #[serde(rename = "toProfile")]
1863    pub to_profile: Profile,
1864
1865    #[serde(rename = "updateSummary")]
1866    pub update_summary: UserProfileUpdateSummary,
1867
1868    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1869    #[cfg_attr(feature = "bon", builder(default))]
1870    pub undocumented: JsonObject,
1871}
1872
1873#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1874#[cfg_attr(feature = "bon", derive(::bon::Builder))]
1875#[cfg_attr(feature = "bon", builder(on(String, into)))]
1876pub struct UsersListResponse {
1877    #[serde(rename = "users")]
1878    pub users: Vec<UserInfo>,
1879
1880    #[serde(flatten, skip_serializing_if = "JsonObject::is_null")]
1881    #[cfg_attr(feature = "bon", builder(default))]
1882    pub undocumented: JsonObject,
1883}