1#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct AirDropShareUserInfo {
5 #[prost(int64, tag = "1")]
7 pub mid: i64,
8 #[prost(string, tag = "2")]
10 pub face: ::prost::alloc::string::String,
11 #[prost(string, tag = "3")]
13 pub url: ::prost::alloc::string::String,
14 #[prost(string, tag = "4")]
16 pub name: ::prost::alloc::string::String,
17}
18#[derive(Clone, PartialEq, ::prost::Message)]
20pub struct AirDropToImReply {
21 #[prost(message, repeated, tag = "1")]
23 pub user_infos: ::prost::alloc::vec::Vec<AirDropShareUserInfo>,
24}
25#[derive(Clone, Copy, PartialEq, ::prost::Message)]
27pub struct AirDropToImReq {
28 #[prost(enumeration = "AirDropFrom", tag = "1")]
30 pub adf: i32,
31}
32#[derive(Clone, PartialEq, ::prost::Message)]
34pub struct AutoReplyToast {
35 #[prost(string, tag = "1")]
37 pub title: ::prost::alloc::string::String,
38 #[prost(string, tag = "2")]
40 pub url: ::prost::alloc::string::String,
41}
42#[derive(Clone, PartialEq, ::prost::Message)]
44pub struct BorderedLabel {
45 #[prost(string, tag = "1")]
47 pub icon: ::prost::alloc::string::String,
48 #[prost(string, tag = "2")]
50 pub text: ::prost::alloc::string::String,
51}
52#[derive(Clone, Copy, PartialEq, ::prost::Message)]
54pub struct CancelInterceptInDustbinReply {}
55#[derive(Clone, Copy, PartialEq, ::prost::Message)]
57pub struct CancelInterceptInDustbinReq {
58 #[prost(message, optional, tag = "1")]
60 pub session_id: ::core::option::Option<SessionId>,
61}
62#[derive(Clone, Copy, PartialEq, ::prost::Message)]
64pub struct ClearUnreadReply {}
65#[derive(Clone, Copy, PartialEq, ::prost::Message)]
67pub struct ClearUnreadReq {
68 #[prost(enumeration = "SessionPageType", tag = "1")]
70 pub page_type: i32,
71 #[prost(message, optional, tag = "2")]
73 pub session_id: ::core::option::Option<SessionId>,
74}
75#[derive(Clone, PartialEq, ::prost::Message)]
77pub struct Contact {
78 #[prost(int64, tag = "1")]
80 pub id: i64,
81 #[prost(string, tag = "2")]
83 pub name: ::prost::alloc::string::String,
84 #[prost(message, optional, tag = "3")]
86 pub avatar: ::core::option::Option<
87 super::super::super::dagw::component::avatar::v1::AvatarItem,
88 >,
89 #[prost(string, tag = "4")]
91 pub vip_info: ::prost::alloc::string::String,
92 #[prost(string, tag = "5")]
94 pub url: ::prost::alloc::string::String,
95 #[prost(message, optional, tag = "6")]
97 pub name_render: ::core::option::Option<
98 super::super::super::account::service::v1::NameRender,
99 >,
100 #[prost(bool, tag = "7")]
102 pub is_special_follow: bool,
103 #[prost(string, tag = "8")]
105 pub face: ::prost::alloc::string::String,
106 #[prost(int32, tag = "9")]
108 pub official_type: i32,
109}
110#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct ContactTab {
113 #[prost(enumeration = "ContactTabType", tag = "1")]
115 pub tab: i32,
116 #[prost(string, tag = "2")]
118 pub name: ::prost::alloc::string::String,
119}
120#[derive(Clone, PartialEq, ::prost::Message)]
122pub struct ContactsReply {
123 #[prost(message, repeated, tag = "1")]
125 pub contacts: ::prost::alloc::vec::Vec<Contact>,
126 #[prost(message, repeated, tag = "2")]
128 pub tab: ::prost::alloc::vec::Vec<ContactTab>,
129 #[prost(enumeration = "ContactTabType", tag = "3")]
131 pub current_tab: i32,
132 #[prost(message, optional, tag = "4")]
134 pub pagination_params: ::core::option::Option<PaginationParams>,
135}
136#[derive(Clone, PartialEq, ::prost::Message)]
138pub struct ContactsReq {
139 #[prost(enumeration = "ContactTabType", tag = "1")]
141 pub tab: i32,
142 #[prost(message, optional, tag = "2")]
144 pub pagination_params: ::core::option::Option<PaginationParams>,
145}
146#[derive(Clone, PartialEq, ::prost::Message)]
148pub struct ContactsSearchReply {
149 #[prost(message, repeated, tag = "1")]
151 pub contacts: ::prost::alloc::vec::Vec<Contact>,
152 #[prost(message, optional, tag = "2")]
154 pub pagination_params: ::core::option::Option<PaginationParams>,
155}
156#[derive(Clone, PartialEq, ::prost::Message)]
158pub struct ContactsSearchReq {
159 #[prost(string, tag = "1")]
161 pub keyword: ::prost::alloc::string::String,
162 #[prost(enumeration = "ContactTabType", tag = "2")]
164 pub tab: i32,
165 #[prost(message, optional, tag = "3")]
167 pub pagination_params: ::core::option::Option<PaginationParams>,
168}
169#[derive(Clone, Copy, PartialEq, ::prost::Message)]
171pub struct CustomerId {
172 #[prost(int64, tag = "1")]
174 pub shop_id: i64,
175 #[prost(int64, tag = "2")]
177 pub shop_type: i64,
178}
179#[derive(Clone, Copy, PartialEq, ::prost::Message)]
181pub struct DeleteSessionListReply {}
182#[derive(Clone, Copy, PartialEq, ::prost::Message)]
184pub struct DeleteSessionListReq {
185 #[prost(enumeration = "SessionPageType", tag = "1")]
187 pub page_type: i32,
188}
189#[derive(Clone, Copy, PartialEq, ::prost::Message)]
191pub struct DeleteSessionReply {}
192#[derive(Clone, Copy, PartialEq, ::prost::Message)]
194pub struct DeleteSessionReq {
195 #[prost(message, optional, tag = "1")]
197 pub session_id: ::core::option::Option<SessionId>,
198}
199#[derive(Clone, PartialEq, ::prost::Message)]
201pub struct FilledLabel {
202 #[prost(string, tag = "1")]
204 pub text: ::prost::alloc::string::String,
205}
206#[derive(Clone, PartialEq, ::prost::Message)]
208pub struct FilterConfig {
209 #[prost(message, repeated, tag = "1")]
211 pub filters: ::prost::alloc::vec::Vec<SessionsFilter>,
212 #[prost(enumeration = "SessionFilterType", tag = "2")]
214 pub current_filter: i32,
215}
216#[derive(Clone, Copy, PartialEq, ::prost::Message)]
218pub struct FoldId {
219 #[prost(enumeration = "SessionType", tag = "1")]
221 pub r#type: i32,
222}
223#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct GetImSettingsReply {
226 #[prost(string, tag = "1")]
228 pub page_title: ::prost::alloc::string::String,
229 #[prost(map = "int32, message", tag = "2")]
231 pub settings: ::std::collections::HashMap<i32, Setting>,
232}
233#[derive(Clone, Copy, PartialEq, ::prost::Message)]
235pub struct GetImSettingsReq {
236 #[prost(enumeration = "ImSettingType", tag = "1")]
238 pub r#type: i32,
239}
240#[derive(Clone, PartialEq, ::prost::Message)]
242pub struct GetQuickLinkUnreadReply {
243 #[prost(message, repeated, tag = "1")]
245 pub items: ::prost::alloc::vec::Vec<QuickLinkUnreadItem>,
246}
247#[derive(Clone, Copy, PartialEq, ::prost::Message)]
249pub struct GetQuickLinkUnreadReq {}
250#[derive(Clone, PartialEq, ::prost::Message)]
252pub struct GetTotalUnreadReply {
253 #[prost(message, optional, tag = "1")]
255 pub total: ::core::option::Option<Unread>,
256}
257#[derive(Clone, Copy, PartialEq, ::prost::Message)]
259pub struct GetTotalUnreadReq {}
260#[derive(Clone, Copy, PartialEq, ::prost::Message)]
262pub struct GroupId {
263 #[prost(int64, tag = "1")]
265 pub group_id: i64,
266}
267#[derive(Clone, PartialEq, ::prost::Message)]
269pub struct ImageLabel {
270 #[prost(string, tag = "1")]
272 pub url: ::prost::alloc::string::String,
273 #[prost(int32, tag = "2")]
275 pub width: i32,
276 #[prost(int32, tag = "3")]
278 pub height: i32,
279}
280#[derive(Clone, PartialEq, ::prost::Message)]
282pub struct Medal {
283 #[prost(int64, tag = "1")]
285 pub uid: i64,
286 #[prost(int32, tag = "2")]
288 pub medal_id: i32,
289 #[prost(int32, tag = "3")]
291 pub level: i32,
292 #[prost(string, tag = "4")]
294 pub medal_name: ::prost::alloc::string::String,
295 #[prost(int32, tag = "5")]
297 pub score: i32,
298 #[prost(int32, tag = "6")]
300 pub intimacy: i32,
301 #[prost(int32, tag = "7")]
303 pub master_status: i32,
304 #[prost(int32, tag = "8")]
306 pub is_receive: i32,
307 #[prost(string, tag = "9")]
309 pub medal_color_start: ::prost::alloc::string::String,
310 #[prost(string, tag = "10")]
312 pub medal_color_end: ::prost::alloc::string::String,
313 #[prost(string, tag = "11")]
315 pub medal_color_border: ::prost::alloc::string::String,
316 #[prost(string, tag = "12")]
318 pub medal_color_name: ::prost::alloc::string::String,
319 #[prost(string, tag = "13")]
321 pub medal_color_level: ::prost::alloc::string::String,
322 #[prost(int64, tag = "14")]
324 pub guard_level: i64,
325}
326#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct MsgSummary {
329 #[prost(string, tag = "1")]
331 pub raw_msg: ::prost::alloc::string::String,
332 #[prost(enumeration = "MsgSummaryPrefixType", tag = "2")]
334 pub prefix_type: i32,
335 #[prost(string, tag = "3")]
337 pub prefix_text: ::prost::alloc::string::String,
338 #[prost(bool, tag = "4")]
340 pub is_group_owner: bool,
341}
342#[derive(Clone, Copy, PartialEq, ::prost::Message)]
344pub struct Offset {
345 #[prost(int64, tag = "1")]
347 pub normal_offset: i64,
348 #[prost(int64, tag = "2")]
350 pub top_offset: i64,
351}
352#[derive(Clone, PartialEq, ::prost::Message)]
354pub struct OperationContent {
355 #[prost(bool, tag = "1")]
357 pub show: bool,
358 #[prost(string, tag = "2")]
360 pub text: ::prost::alloc::string::String,
361}
362#[derive(Clone, PartialEq, ::prost::Message)]
364pub struct PaginationParams {
365 #[prost(map = "int32, message", tag = "1")]
367 pub offsets: ::std::collections::HashMap<i32, Offset>,
368 #[prost(bool, tag = "2")]
370 pub has_more: bool,
371}
372#[derive(Clone, PartialEq, ::prost::Message)]
374pub struct PinSessionReply {
375 #[prost(int64, tag = "1")]
377 pub sequence_number: i64,
378 #[prost(int64, tag = "2")]
380 pub code: i64,
381 #[prost(string, tag = "3")]
383 pub message: ::prost::alloc::string::String,
384}
385#[derive(Clone, Copy, PartialEq, ::prost::Message)]
387pub struct PinSessionReq {
388 #[prost(message, optional, tag = "1")]
390 pub session_id: ::core::option::Option<SessionId>,
391 #[prost(int64, tag = "2")]
393 pub top_time_micros: i64,
394}
395#[derive(Clone, Copy, PartialEq, ::prost::Message)]
397pub struct PrivateId {
398 #[prost(int64, tag = "1")]
400 pub talker_uid: i64,
401}
402#[derive(Clone, PartialEq, ::prost::Message)]
404pub struct QuickLinkBubble {
405 #[prost(int64, tag = "1")]
407 pub mid: i64,
408 #[prost(string, tag = "2")]
410 pub avatar: ::prost::alloc::string::String,
411 #[prost(string, tag = "3")]
413 pub nick_name: ::prost::alloc::string::String,
414 #[prost(string, tag = "4")]
416 pub content: ::prost::alloc::string::String,
417 #[prost(enumeration = "QuickLinkItemType", tag = "5")]
419 pub quick_link_item: i32,
420 #[prost(enumeration = "QuickLinkMsgType", tag = "6")]
422 pub msg_type: i32,
423}
424#[derive(Clone, PartialEq, ::prost::Message)]
426pub struct QuickLinkConfig {
427 #[prost(message, repeated, tag = "1")]
429 pub items: ::prost::alloc::vec::Vec<QuickLinkItem>,
430 #[prost(message, optional, tag = "2")]
432 pub bubble: ::core::option::Option<QuickLinkBubble>,
433 #[prost(bool, tag = "3")]
435 pub is_legacy_style: bool,
436}
437#[derive(Clone, PartialEq, ::prost::Message)]
439pub struct QuickLinkItem {
440 #[prost(string, tag = "1")]
442 pub title: ::prost::alloc::string::String,
443 #[prost(string, tag = "2")]
445 pub icon: ::prost::alloc::string::String,
446 #[prost(string, tag = "3")]
448 pub icon_dark: ::prost::alloc::string::String,
449 #[prost(string, tag = "4")]
451 pub url: ::prost::alloc::string::String,
452 #[prost(message, optional, tag = "5")]
454 pub unread: ::core::option::Option<Unread>,
455 #[prost(enumeration = "QuickLinkItemType", tag = "6")]
457 pub item_type: i32,
458}
459#[derive(Clone, PartialEq, ::prost::Message)]
461pub struct QuickLinkUnreadItem {
462 #[prost(enumeration = "QuickLinkItemType", tag = "1")]
464 pub item_type: i32,
465 #[prost(message, optional, tag = "2")]
467 pub unread: ::core::option::Option<Unread>,
468}
469#[derive(Clone, Copy, PartialEq, ::prost::Message)]
471pub struct RestrictedMode {
472 #[prost(bool, tag = "1")]
474 pub teenagers: bool,
475 #[prost(bool, tag = "2")]
477 pub lessons: bool,
478}
479#[derive(Clone, PartialEq, ::prost::Message)]
481pub struct SelectItem {
482 #[prost(int32, tag = "1")]
484 pub item_type: i32,
485 #[prost(string, tag = "2")]
487 pub text: ::prost::alloc::string::String,
488 #[prost(bool, tag = "3")]
490 pub selected: bool,
491}
492#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct Session {
495 #[prost(message, optional, tag = "1")]
497 pub id: ::core::option::Option<SessionId>,
498 #[prost(message, optional, tag = "2")]
500 pub session_info: ::core::option::Option<SessionInfo>,
501 #[prost(message, optional, tag = "3")]
503 pub unread: ::core::option::Option<Unread>,
504 #[prost(message, optional, tag = "4")]
506 pub msg_summary: ::core::option::Option<MsgSummary>,
507 #[prost(int64, tag = "5")]
509 pub timestamp: i64,
510 #[prost(bool, tag = "6")]
512 pub is_pinned: bool,
513 #[prost(int64, tag = "7")]
515 pub sequence_number: i64,
516 #[prost(bool, tag = "8")]
518 pub is_muted: bool,
519 #[prost(string, tag = "9")]
521 pub chat_url: ::prost::alloc::string::String,
522 #[prost(message, optional, tag = "10")]
524 pub operation: ::core::option::Option<SessionOperation>,
525 #[prost(map = "string, string", tag = "11")]
527 pub trace_params: ::std::collections::HashMap<
528 ::prost::alloc::string::String,
529 ::prost::alloc::string::String,
530 >,
531}
532#[derive(Clone, Copy, PartialEq, ::prost::Message)]
534pub struct SessionId {
535 #[prost(oneof = "session_id::Id", tags = "1, 2, 3, 4, 5")]
537 pub id: ::core::option::Option<session_id::Id>,
538}
539pub mod session_id {
541 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
543 pub enum Id {
544 #[prost(message, tag = "1")]
546 PrivateId(super::PrivateId),
547 #[prost(message, tag = "2")]
549 GroupId(super::GroupId),
550 #[prost(message, tag = "3")]
552 FoldId(super::FoldId),
553 #[prost(message, tag = "4")]
555 SystemId(super::SystemId),
556 #[prost(message, tag = "5")]
558 CustomerId(super::CustomerId),
559 }
560}
561#[derive(Clone, PartialEq, ::prost::Message)]
563pub struct SessionInfo {
564 #[prost(string, tag = "1")]
566 pub session_name: ::prost::alloc::string::String,
567 #[prost(message, optional, tag = "2")]
569 pub name_render: ::core::option::Option<
570 super::super::super::account::service::v1::NameRender,
571 >,
572 #[prost(message, optional, tag = "3")]
574 pub avatar: ::core::option::Option<
575 super::super::super::dagw::component::avatar::v1::AvatarItem,
576 >,
577 #[prost(string, tag = "4")]
579 pub vip_info: ::prost::alloc::string::String,
580 #[prost(message, optional, tag = "5")]
582 pub user_label: ::core::option::Option<UserLabel>,
583 #[prost(bool, tag = "6")]
585 pub is_live: bool,
586}
587#[derive(Clone, PartialEq, ::prost::Message)]
589pub struct SessionListExtraInfo {
590 #[prost(message, optional, tag = "1")]
592 pub auto_reply_toast: ::core::option::Option<AutoReplyToast>,
593 #[prost(bool, tag = "2")]
595 pub show_anti_harassment_popup: bool,
596 #[prost(string, tag = "3")]
598 pub customer_hint_title: ::prost::alloc::string::String,
599}
600#[derive(Clone, PartialEq, ::prost::Message)]
602pub struct SessionListUpdateReply {
603 #[prost(message, repeated, tag = "1")]
605 pub sessions: ::prost::alloc::vec::Vec<Session>,
606 #[prost(message, optional, tag = "2")]
608 pub update_session_params: ::core::option::Option<UpdateSessionParams>,
609}
610#[derive(Clone, PartialEq, ::prost::Message)]
612pub struct SessionListUpdateReq {
613 #[prost(message, optional, tag = "1")]
615 pub restricted_mode: ::core::option::Option<RestrictedMode>,
616 #[prost(message, optional, tag = "2")]
618 pub update_params: ::core::option::Option<UpdateSessionParams>,
619 #[prost(enumeration = "SessionPageType", tag = "3")]
621 pub page_type: i32,
622 #[prost(enumeration = "SessionFilterType", tag = "4")]
624 pub filter_type: i32,
625}
626#[derive(Clone, PartialEq, ::prost::Message)]
628pub struct SessionMainReply {
629 #[prost(message, optional, tag = "1")]
631 pub pagination_params: ::core::option::Option<PaginationParams>,
632 #[prost(message, optional, tag = "2")]
634 pub update_session_params: ::core::option::Option<UpdateSessionParams>,
635 #[prost(message, optional, tag = "3")]
637 pub quick_link_config: ::core::option::Option<QuickLinkConfig>,
638 #[prost(message, optional, tag = "4")]
640 pub filter_config: ::core::option::Option<FilterConfig>,
641 #[prost(message, repeated, tag = "5")]
643 pub sessions: ::prost::alloc::vec::Vec<Session>,
644 #[prost(message, repeated, tag = "6")]
646 pub three_dot_items: ::prost::alloc::vec::Vec<ThreeDotItem>,
647 #[prost(message, repeated, tag = "7")]
649 pub outside_item: ::prost::alloc::vec::Vec<ThreeDotItem>,
650 #[prost(message, optional, tag = "8")]
652 pub extra_info: ::core::option::Option<SessionListExtraInfo>,
653}
654#[derive(Clone, PartialEq, ::prost::Message)]
656pub struct SessionMainReq {
657 #[prost(message, optional, tag = "1")]
659 pub restricted_mode: ::core::option::Option<RestrictedMode>,
660 #[prost(message, optional, tag = "2")]
662 pub pagination_params: ::core::option::Option<PaginationParams>,
663 #[prost(enumeration = "SessionFilterType", tag = "3")]
665 pub filter_type: i32,
666}
667#[derive(Clone, PartialEq, ::prost::Message)]
669pub struct SessionOperation {
670 #[prost(message, optional, tag = "1")]
672 pub pin: ::core::option::Option<OperationContent>,
673 #[prost(message, optional, tag = "2")]
675 pub unpin: ::core::option::Option<OperationContent>,
676 #[prost(message, optional, tag = "3")]
678 pub delete: ::core::option::Option<OperationContent>,
679 #[prost(message, optional, tag = "4")]
681 pub clear_unread: ::core::option::Option<OperationContent>,
682 #[prost(message, optional, tag = "5")]
684 pub unblock: ::core::option::Option<OperationContent>,
685}
686#[derive(Clone, PartialEq, ::prost::Message)]
688pub struct SessionSecondaryReply {
689 #[prost(message, optional, tag = "1")]
691 pub pagination_params: ::core::option::Option<PaginationParams>,
692 #[prost(message, optional, tag = "2")]
694 pub update_session_params: ::core::option::Option<UpdateSessionParams>,
695 #[prost(message, repeated, tag = "3")]
697 pub sessions: ::prost::alloc::vec::Vec<Session>,
698 #[prost(message, repeated, tag = "4")]
700 pub three_dot_items: ::prost::alloc::vec::Vec<ThreeDotItem>,
701 #[prost(message, repeated, tag = "5")]
703 pub outside_item: ::prost::alloc::vec::Vec<ThreeDotItem>,
704}
705#[derive(Clone, PartialEq, ::prost::Message)]
707pub struct SessionSecondaryReq {
708 #[prost(message, optional, tag = "1")]
710 pub restricted_mode: ::core::option::Option<RestrictedMode>,
711 #[prost(message, optional, tag = "2")]
713 pub pagination_params: ::core::option::Option<PaginationParams>,
714 #[prost(enumeration = "SessionPageType", tag = "3")]
716 pub page_type: i32,
717}
718#[derive(Clone, PartialEq, ::prost::Message)]
720pub struct SessionUpdateReply {
721 #[prost(message, optional, tag = "1")]
723 pub session: ::core::option::Option<Session>,
724}
725#[derive(Clone, Copy, PartialEq, ::prost::Message)]
727pub struct SessionUpdateReq {
728 #[prost(message, optional, tag = "1")]
730 pub session_id: ::core::option::Option<SessionId>,
731 #[prost(enumeration = "SessionPageType", tag = "2")]
733 pub page_type: i32,
734}
735#[derive(Clone, PartialEq, ::prost::Message)]
737pub struct SessionsFilter {
738 #[prost(enumeration = "SessionFilterType", tag = "1")]
740 pub stype: i32,
741 #[prost(string, tag = "2")]
743 pub title: ::prost::alloc::string::String,
744}
745#[derive(Clone, PartialEq, ::prost::Message)]
747pub struct SetImSettingsReply {
748 #[prost(string, tag = "1")]
750 pub toast: ::prost::alloc::string::String,
751}
752#[derive(Clone, PartialEq, ::prost::Message)]
754pub struct SetImSettingsReq {
755 #[prost(map = "int32, message", tag = "1")]
757 pub settings: ::std::collections::HashMap<i32, Setting>,
758}
759#[derive(Clone, PartialEq, ::prost::Message)]
761pub struct Setting {
762 #[prost(oneof = "setting::Content", tags = "1, 2, 3, 4")]
764 pub content: ::core::option::Option<setting::Content>,
765}
766pub mod setting {
768 #[derive(Clone, PartialEq, ::prost::Oneof)]
770 pub enum Content {
771 #[prost(message, tag = "1")]
773 Switch(super::SettingSwitch),
774 #[prost(message, tag = "2")]
776 Select(super::SettingSelect),
777 #[prost(message, tag = "3")]
779 Redirect(super::SettingRedirect),
780 #[prost(message, tag = "4")]
782 Text(super::SettingText),
783 }
784}
785#[derive(Clone, PartialEq, ::prost::Message)]
787pub struct SettingRedirect {
788 #[prost(string, tag = "3")]
790 pub title: ::prost::alloc::string::String,
791 #[prost(string, tag = "4")]
793 pub subtitle: ::prost::alloc::string::String,
794 #[prost(string, tag = "5")]
796 pub selected_summary: ::prost::alloc::string::String,
797 #[prost(oneof = "setting_redirect::Content", tags = "1, 2, 6, 7")]
799 pub content: ::core::option::Option<setting_redirect::Content>,
800}
801pub mod setting_redirect {
803 #[derive(Clone, PartialEq, ::prost::Oneof)]
805 pub enum Content {
806 #[prost(message, tag = "1")]
808 SettingPage(super::Redirect2SettingPage),
809 #[prost(message, tag = "2")]
811 OtherPage(super::Redirect2OtherPage),
812 #[prost(message, tag = "6")]
814 Popup(super::Redirect2Popup),
815 #[prost(message, tag = "7")]
817 WindowSelect(super::RedirectWindowSelect),
818 }
819}
820#[derive(Clone, PartialEq, ::prost::Message)]
822pub struct SettingSelect {
823 #[prost(message, repeated, tag = "1")]
825 pub item: ::prost::alloc::vec::Vec<SelectItem>,
826}
827#[derive(Clone, PartialEq, ::prost::Message)]
829pub struct SettingSwitch {
830 #[prost(bool, tag = "1")]
832 pub switch_on: bool,
833 #[prost(string, tag = "2")]
835 pub title: ::prost::alloc::string::String,
836 #[prost(string, tag = "3")]
838 pub subtitle: ::prost::alloc::string::String,
839}
840#[derive(Clone, PartialEq, ::prost::Message)]
842pub struct SettingText {
843 #[prost(string, tag = "1")]
845 pub text: ::prost::alloc::string::String,
846}
847#[derive(Clone, Copy, PartialEq, ::prost::Message)]
849pub struct SystemId {
850 #[prost(enumeration = "SessionType", tag = "1")]
852 pub r#type: i32,
853}
854#[derive(Clone, PartialEq, ::prost::Message)]
856pub struct ThreeDotItem {
857 #[prost(string, tag = "1")]
859 pub title: ::prost::alloc::string::String,
860 #[prost(string, tag = "2")]
862 pub icon: ::prost::alloc::string::String,
863 #[prost(string, tag = "3")]
865 pub url: ::prost::alloc::string::String,
866 #[prost(enumeration = "ThreeDotItemType", tag = "4")]
868 pub r#type: i32,
869 #[prost(bool, tag = "5")]
871 pub has_red_dot: bool,
872}
873#[derive(Clone, Copy, PartialEq, ::prost::Message)]
875pub struct UnPinSessionReply {
876 #[prost(int64, tag = "1")]
878 pub sequence_number: i64,
879}
880#[derive(Clone, Copy, PartialEq, ::prost::Message)]
882pub struct UnPinSessionReq {
883 #[prost(message, optional, tag = "1")]
885 pub session_id: ::core::option::Option<SessionId>,
886}
887#[derive(Clone, PartialEq, ::prost::Message)]
889pub struct Unread {
890 #[prost(enumeration = "UnreadStyle", tag = "1")]
892 pub style: i32,
893 #[prost(int64, tag = "2")]
895 pub number: i64,
896 #[prost(string, tag = "3")]
898 pub number_show: ::prost::alloc::string::String,
899}
900#[derive(Clone, PartialEq, ::prost::Message)]
902pub struct UpdateSessionParams {
903 #[prost(map = "int32, message", tag = "1")]
905 pub max_session_ts: ::std::collections::HashMap<i32, Offset>,
906}
907#[derive(Clone, PartialEq, ::prost::Message)]
909pub struct UserLabel {
910 #[prost(enumeration = "LabelType", tag = "1")]
912 pub r#type: i32,
913 #[prost(message, optional, tag = "2")]
915 pub style: ::core::option::Option<UserLabelStyle>,
916}
917#[derive(Clone, PartialEq, ::prost::Message)]
919pub struct UserLabelStyle {
920 #[prost(oneof = "user_label_style::Style", tags = "2, 3, 4, 5")]
922 pub style: ::core::option::Option<user_label_style::Style>,
923}
924pub mod user_label_style {
926 #[derive(Clone, PartialEq, ::prost::Oneof)]
928 pub enum Style {
929 #[prost(message, tag = "2")]
931 BorderedLabel(super::BorderedLabel),
932 #[prost(message, tag = "3")]
934 FilledLabel(super::FilledLabel),
935 #[prost(message, tag = "4")]
937 ImageLabel(super::ImageLabel),
938 #[prost(message, tag = "5")]
940 MedalLabel(super::Medal),
941 }
942}
943#[derive(Clone, PartialEq, ::prost::Message)]
945pub struct Redirect2OtherPage {
946 #[prost(string, tag = "1")]
948 pub url: ::prost::alloc::string::String,
949}
950#[derive(Clone, PartialEq, ::prost::Message)]
952pub struct Redirect2Popup {
953 #[prost(string, tag = "1")]
955 pub title: ::prost::alloc::string::String,
956 #[prost(string, tag = "2")]
958 pub subtitle: ::prost::alloc::string::String,
959 #[prost(string, tag = "3")]
961 pub url: ::prost::alloc::string::String,
962}
963#[derive(Clone, PartialEq, ::prost::Message)]
965pub struct Redirect2SettingPage {
966 #[prost(map = "int32, message", tag = "1")]
968 pub sub_settings: ::std::collections::HashMap<i32, Setting>,
969 #[prost(string, tag = "2")]
971 pub page_title: ::prost::alloc::string::String,
972 #[prost(string, tag = "3")]
974 pub url: ::prost::alloc::string::String,
975 #[prost(enumeration = "ImSettingType", tag = "4")]
977 pub parent_setting_type: i32,
978}
979#[derive(Clone, PartialEq, ::prost::Message)]
981pub struct RedirectWindowSelect {
982 #[prost(string, tag = "1")]
984 pub title: ::prost::alloc::string::String,
985 #[prost(message, repeated, tag = "2")]
987 pub item: ::prost::alloc::vec::Vec<SelectItem>,
988}
989#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
991#[repr(i32)]
992pub enum AirDropFrom {
993 AdfUnknown = 0,
995 AdfInsideApp = 1,
997 AdfOutsideApp = 2,
999}
1000impl AirDropFrom {
1001 pub fn as_str_name(&self) -> &'static str {
1006 match self {
1007 Self::AdfUnknown => "ADF_UNKNOWN",
1008 Self::AdfInsideApp => "ADF_INSIDE_APP",
1009 Self::AdfOutsideApp => "ADF_OUTSIDE_APP",
1010 }
1011 }
1012 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1014 match value {
1015 "ADF_UNKNOWN" => Some(Self::AdfUnknown),
1016 "ADF_INSIDE_APP" => Some(Self::AdfInsideApp),
1017 "ADF_OUTSIDE_APP" => Some(Self::AdfOutsideApp),
1018 _ => None,
1019 }
1020 }
1021}
1022#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1024#[repr(i32)]
1025pub enum ContactTabType {
1026 TabUnknown = 0,
1028 TabGroup = 1,
1030 TabFollow = 2,
1032 TabFans = 3,
1034}
1035impl ContactTabType {
1036 pub fn as_str_name(&self) -> &'static str {
1041 match self {
1042 Self::TabUnknown => "TAB_UNKNOWN",
1043 Self::TabGroup => "TAB_GROUP",
1044 Self::TabFollow => "TAB_FOLLOW",
1045 Self::TabFans => "TAB_FANS",
1046 }
1047 }
1048 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1050 match value {
1051 "TAB_UNKNOWN" => Some(Self::TabUnknown),
1052 "TAB_GROUP" => Some(Self::TabGroup),
1053 "TAB_FOLLOW" => Some(Self::TabFollow),
1054 "TAB_FANS" => Some(Self::TabFans),
1055 _ => None,
1056 }
1057 }
1058}
1059#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1061#[repr(i32)]
1062pub enum ImSettingType {
1063 SettingTypeNeedAll = 0,
1065 SettingTypeReplyMe = 1,
1067 SettingTypeNewFans = 2,
1069 SettingTypeReceiveLike = 3,
1071 SettingTypeMsgRemind = 4,
1073 SettingTypeMsgInterception = 5,
1075 SettingTypeFansGroupMsg = 6,
1077 SettingTypeFansGroupMsgReceive = 7,
1079 SettingTypeFansGroupMsgFold = 8,
1081 SettingTypeFansGroupMsgJoinGuide = 9,
1083 SettingTypeUnfollowedMsg = 10,
1085 SettingTypeUnfollowedMsgFold = 11,
1087 SettingTypeBlackList = 12,
1089 SettingTypeAntiHarassment = 13,
1091 SettingTypeAntiHarassmentSwitch = 14,
1093 SettingTypeAntiHarassmentOpenTipText = 15,
1095 SettingTypeCloseFansGroup = 16,
1097 SettingTypeOldReplyMe = 17,
1099 SettingTypeOldAtMe = 18,
1101 SettingTypeOldReceiveLike = 19,
1103 SettingTypeAntiHarassmentInteractLimits = 20,
1105 SettingTypeAntiHarassmentDuration = 21,
1107 SettingTypeAntiHarassmentCommentLimits = 22,
1109 SettingTypeAntiHarassmentDanmuLimits = 23,
1111 SettingTypeUnfollowedMsgReceive = 24,
1113}
1114impl ImSettingType {
1115 pub fn as_str_name(&self) -> &'static str {
1120 match self {
1121 Self::SettingTypeNeedAll => "SETTING_TYPE_NEED_ALL",
1122 Self::SettingTypeReplyMe => "SETTING_TYPE_REPLY_ME",
1123 Self::SettingTypeNewFans => "SETTING_TYPE_NEW_FANS",
1124 Self::SettingTypeReceiveLike => "SETTING_TYPE_RECEIVE_LIKE",
1125 Self::SettingTypeMsgRemind => "SETTING_TYPE_MSG_REMIND",
1126 Self::SettingTypeMsgInterception => "SETTING_TYPE_MSG_INTERCEPTION",
1127 Self::SettingTypeFansGroupMsg => "SETTING_TYPE_FANS_GROUP_MSG",
1128 Self::SettingTypeFansGroupMsgReceive => "SETTING_TYPE_FANS_GROUP_MSG_RECEIVE",
1129 Self::SettingTypeFansGroupMsgFold => "SETTING_TYPE_FANS_GROUP_MSG_FOLD",
1130 Self::SettingTypeFansGroupMsgJoinGuide => {
1131 "SETTING_TYPE_FANS_GROUP_MSG_JOIN_GUIDE"
1132 }
1133 Self::SettingTypeUnfollowedMsg => "SETTING_TYPE_UNFOLLOWED_MSG",
1134 Self::SettingTypeUnfollowedMsgFold => "SETTING_TYPE_UNFOLLOWED_MSG_FOLD",
1135 Self::SettingTypeBlackList => "SETTING_TYPE_BLACK_LIST",
1136 Self::SettingTypeAntiHarassment => "SETTING_TYPE_ANTI_HARASSMENT",
1137 Self::SettingTypeAntiHarassmentSwitch => {
1138 "SETTING_TYPE_ANTI_HARASSMENT_SWITCH"
1139 }
1140 Self::SettingTypeAntiHarassmentOpenTipText => {
1141 "SETTING_TYPE_ANTI_HARASSMENT_OPEN_TIP_TEXT"
1142 }
1143 Self::SettingTypeCloseFansGroup => "SETTING_TYPE_CLOSE_FANS_GROUP",
1144 Self::SettingTypeOldReplyMe => "SETTING_TYPE_OLD_REPLY_ME",
1145 Self::SettingTypeOldAtMe => "SETTING_TYPE_OLD_AT_ME",
1146 Self::SettingTypeOldReceiveLike => "SETTING_TYPE_OLD_RECEIVE_LIKE",
1147 Self::SettingTypeAntiHarassmentInteractLimits => {
1148 "SETTING_TYPE_ANTI_HARASSMENT_INTERACT_LIMITS"
1149 }
1150 Self::SettingTypeAntiHarassmentDuration => {
1151 "SETTING_TYPE_ANTI_HARASSMENT_DURATION"
1152 }
1153 Self::SettingTypeAntiHarassmentCommentLimits => {
1154 "SETTING_TYPE_ANTI_HARASSMENT_COMMENT_LIMITS"
1155 }
1156 Self::SettingTypeAntiHarassmentDanmuLimits => {
1157 "SETTING_TYPE_ANTI_HARASSMENT_DANMU_LIMITS"
1158 }
1159 Self::SettingTypeUnfollowedMsgReceive => {
1160 "SETTING_TYPE_UNFOLLOWED_MSG_RECEIVE"
1161 }
1162 }
1163 }
1164 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1166 match value {
1167 "SETTING_TYPE_NEED_ALL" => Some(Self::SettingTypeNeedAll),
1168 "SETTING_TYPE_REPLY_ME" => Some(Self::SettingTypeReplyMe),
1169 "SETTING_TYPE_NEW_FANS" => Some(Self::SettingTypeNewFans),
1170 "SETTING_TYPE_RECEIVE_LIKE" => Some(Self::SettingTypeReceiveLike),
1171 "SETTING_TYPE_MSG_REMIND" => Some(Self::SettingTypeMsgRemind),
1172 "SETTING_TYPE_MSG_INTERCEPTION" => Some(Self::SettingTypeMsgInterception),
1173 "SETTING_TYPE_FANS_GROUP_MSG" => Some(Self::SettingTypeFansGroupMsg),
1174 "SETTING_TYPE_FANS_GROUP_MSG_RECEIVE" => {
1175 Some(Self::SettingTypeFansGroupMsgReceive)
1176 }
1177 "SETTING_TYPE_FANS_GROUP_MSG_FOLD" => Some(Self::SettingTypeFansGroupMsgFold),
1178 "SETTING_TYPE_FANS_GROUP_MSG_JOIN_GUIDE" => {
1179 Some(Self::SettingTypeFansGroupMsgJoinGuide)
1180 }
1181 "SETTING_TYPE_UNFOLLOWED_MSG" => Some(Self::SettingTypeUnfollowedMsg),
1182 "SETTING_TYPE_UNFOLLOWED_MSG_FOLD" => {
1183 Some(Self::SettingTypeUnfollowedMsgFold)
1184 }
1185 "SETTING_TYPE_BLACK_LIST" => Some(Self::SettingTypeBlackList),
1186 "SETTING_TYPE_ANTI_HARASSMENT" => Some(Self::SettingTypeAntiHarassment),
1187 "SETTING_TYPE_ANTI_HARASSMENT_SWITCH" => {
1188 Some(Self::SettingTypeAntiHarassmentSwitch)
1189 }
1190 "SETTING_TYPE_ANTI_HARASSMENT_OPEN_TIP_TEXT" => {
1191 Some(Self::SettingTypeAntiHarassmentOpenTipText)
1192 }
1193 "SETTING_TYPE_CLOSE_FANS_GROUP" => Some(Self::SettingTypeCloseFansGroup),
1194 "SETTING_TYPE_OLD_REPLY_ME" => Some(Self::SettingTypeOldReplyMe),
1195 "SETTING_TYPE_OLD_AT_ME" => Some(Self::SettingTypeOldAtMe),
1196 "SETTING_TYPE_OLD_RECEIVE_LIKE" => Some(Self::SettingTypeOldReceiveLike),
1197 "SETTING_TYPE_ANTI_HARASSMENT_INTERACT_LIMITS" => {
1198 Some(Self::SettingTypeAntiHarassmentInteractLimits)
1199 }
1200 "SETTING_TYPE_ANTI_HARASSMENT_DURATION" => {
1201 Some(Self::SettingTypeAntiHarassmentDuration)
1202 }
1203 "SETTING_TYPE_ANTI_HARASSMENT_COMMENT_LIMITS" => {
1204 Some(Self::SettingTypeAntiHarassmentCommentLimits)
1205 }
1206 "SETTING_TYPE_ANTI_HARASSMENT_DANMU_LIMITS" => {
1207 Some(Self::SettingTypeAntiHarassmentDanmuLimits)
1208 }
1209 "SETTING_TYPE_UNFOLLOWED_MSG_RECEIVE" => {
1210 Some(Self::SettingTypeUnfollowedMsgReceive)
1211 }
1212 _ => None,
1213 }
1214 }
1215}
1216#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1218#[repr(i32)]
1219pub enum LabelType {
1220 Default = 0,
1222 HuaHuo = 1,
1224 OriginalFans = 2,
1226 SpecialAttention = 3,
1228 ContractUp = 4,
1230 OldFans = 5,
1232 SpecialAttention2 = 6,
1234 FansMedal = 7,
1236 GuardMedal = 8,
1238}
1239impl LabelType {
1240 pub fn as_str_name(&self) -> &'static str {
1245 match self {
1246 Self::Default => "LABEL_TYPE_DEFAULT",
1247 Self::HuaHuo => "LABEL_TYPE_HUA_HUO",
1248 Self::OriginalFans => "LABEL_TYPE_ORIGINAL_FANS",
1249 Self::SpecialAttention => "LABEL_TYPE_SPECIAL_ATTENTION",
1250 Self::ContractUp => "LABEL_TYPE_CONTRACT_UP",
1251 Self::OldFans => "LABEL_TYPE_OLD_FANS",
1252 Self::SpecialAttention2 => "LABEL_TYPE_SPECIAL_ATTENTION_2",
1253 Self::FansMedal => "LABEL_TYPE_FANS_MEDAL",
1254 Self::GuardMedal => "LABEL_TYPE_GUARD_MEDAL",
1255 }
1256 }
1257 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1259 match value {
1260 "LABEL_TYPE_DEFAULT" => Some(Self::Default),
1261 "LABEL_TYPE_HUA_HUO" => Some(Self::HuaHuo),
1262 "LABEL_TYPE_ORIGINAL_FANS" => Some(Self::OriginalFans),
1263 "LABEL_TYPE_SPECIAL_ATTENTION" => Some(Self::SpecialAttention),
1264 "LABEL_TYPE_CONTRACT_UP" => Some(Self::ContractUp),
1265 "LABEL_TYPE_OLD_FANS" => Some(Self::OldFans),
1266 "LABEL_TYPE_SPECIAL_ATTENTION_2" => Some(Self::SpecialAttention2),
1267 "LABEL_TYPE_FANS_MEDAL" => Some(Self::FansMedal),
1268 "LABEL_TYPE_GUARD_MEDAL" => Some(Self::GuardMedal),
1269 _ => None,
1270 }
1271 }
1272}
1273#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1275#[repr(i32)]
1276pub enum MsgSummaryPrefixType {
1277 None = 0,
1279 Notification = 1,
1281 GroupBlocked = 2,
1283 Mentioned = 3,
1285 Unread = 4,
1287}
1288impl MsgSummaryPrefixType {
1289 pub fn as_str_name(&self) -> &'static str {
1294 match self {
1295 Self::None => "MSG_SUMMARY_PREFIX_TYPE_NONE",
1296 Self::Notification => "MSG_SUMMARY_PREFIX_TYPE_NOTIFICATION",
1297 Self::GroupBlocked => "MSG_SUMMARY_PREFIX_TYPE_GROUP_BLOCKED",
1298 Self::Mentioned => "MSG_SUMMARY_PREFIX_TYPE_MENTIONED",
1299 Self::Unread => "MSG_SUMMARY_PREFIX_TYPE_UNREAD",
1300 }
1301 }
1302 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1304 match value {
1305 "MSG_SUMMARY_PREFIX_TYPE_NONE" => Some(Self::None),
1306 "MSG_SUMMARY_PREFIX_TYPE_NOTIFICATION" => Some(Self::Notification),
1307 "MSG_SUMMARY_PREFIX_TYPE_GROUP_BLOCKED" => Some(Self::GroupBlocked),
1308 "MSG_SUMMARY_PREFIX_TYPE_MENTIONED" => Some(Self::Mentioned),
1309 "MSG_SUMMARY_PREFIX_TYPE_UNREAD" => Some(Self::Unread),
1310 _ => None,
1311 }
1312 }
1313}
1314#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1316#[repr(i32)]
1317pub enum QuickLinkItemType {
1318 Unknown = 0,
1320 OldLike = 1,
1322 OldReply = 2,
1324 At = 3,
1326 System = 4,
1328 HuaHuo = 5,
1330 Follow = 6,
1332 Reply = 100,
1334 Like = 101,
1336}
1337impl QuickLinkItemType {
1338 pub fn as_str_name(&self) -> &'static str {
1343 match self {
1344 Self::Unknown => "QUICK_LINK_ITEM_TYPE_UNKNOWN",
1345 Self::OldLike => "QUICK_LINK_ITEM_TYPE_OLD_LIKE",
1346 Self::OldReply => "QUICK_LINK_ITEM_TYPE_OLD_REPLY",
1347 Self::At => "QUICK_LINK_ITEM_TYPE_AT",
1348 Self::System => "QUICK_LINK_ITEM_TYPE_SYSTEM",
1349 Self::HuaHuo => "QUICK_LINK_ITEM_TYPE_HUA_HUO",
1350 Self::Follow => "QUICK_LINK_ITEM_TYPE_FOLLOW",
1351 Self::Reply => "QUICK_LINK_ITEM_TYPE_REPLY",
1352 Self::Like => "QUICK_LINK_ITEM_TYPE_LIKE",
1353 }
1354 }
1355 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1357 match value {
1358 "QUICK_LINK_ITEM_TYPE_UNKNOWN" => Some(Self::Unknown),
1359 "QUICK_LINK_ITEM_TYPE_OLD_LIKE" => Some(Self::OldLike),
1360 "QUICK_LINK_ITEM_TYPE_OLD_REPLY" => Some(Self::OldReply),
1361 "QUICK_LINK_ITEM_TYPE_AT" => Some(Self::At),
1362 "QUICK_LINK_ITEM_TYPE_SYSTEM" => Some(Self::System),
1363 "QUICK_LINK_ITEM_TYPE_HUA_HUO" => Some(Self::HuaHuo),
1364 "QUICK_LINK_ITEM_TYPE_FOLLOW" => Some(Self::Follow),
1365 "QUICK_LINK_ITEM_TYPE_REPLY" => Some(Self::Reply),
1366 "QUICK_LINK_ITEM_TYPE_LIKE" => Some(Self::Like),
1367 _ => None,
1368 }
1369 }
1370}
1371#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1373#[repr(i32)]
1374pub enum QuickLinkMsgType {
1375 LikeMsg = 0,
1377 ReplyMsg = 1,
1379 AtMsg = 2,
1381 DanmuMsg = 3,
1383 CoinMsg = 4,
1385 FavoriteMsg = 5,
1387}
1388impl QuickLinkMsgType {
1389 pub fn as_str_name(&self) -> &'static str {
1394 match self {
1395 Self::LikeMsg => "LikeMsg",
1396 Self::ReplyMsg => "ReplyMsg",
1397 Self::AtMsg => "AtMsg",
1398 Self::DanmuMsg => "DanmuMsg",
1399 Self::CoinMsg => "CoinMsg",
1400 Self::FavoriteMsg => "FavoriteMsg",
1401 }
1402 }
1403 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1405 match value {
1406 "LikeMsg" => Some(Self::LikeMsg),
1407 "ReplyMsg" => Some(Self::ReplyMsg),
1408 "AtMsg" => Some(Self::AtMsg),
1409 "DanmuMsg" => Some(Self::DanmuMsg),
1410 "CoinMsg" => Some(Self::CoinMsg),
1411 "FavoriteMsg" => Some(Self::FavoriteMsg),
1412 _ => None,
1413 }
1414 }
1415}
1416#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1418#[repr(i32)]
1419pub enum SessionFilterType {
1420 FilterDefault = 0,
1422 FilterFollow = 1,
1424}
1425impl SessionFilterType {
1426 pub fn as_str_name(&self) -> &'static str {
1431 match self {
1432 Self::FilterDefault => "FILTER_DEFAULT",
1433 Self::FilterFollow => "FILTER_FOLLOW",
1434 }
1435 }
1436 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1438 match value {
1439 "FILTER_DEFAULT" => Some(Self::FilterDefault),
1440 "FILTER_FOLLOW" => Some(Self::FilterFollow),
1441 _ => None,
1442 }
1443 }
1444}
1445#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1447#[repr(i32)]
1448pub enum SessionPageType {
1449 Unknown = 0,
1451 Home = 1,
1453 Unfollowed = 2,
1455 Stranger = 3,
1457 Dustbin = 4,
1459 Group = 5,
1461 HuaHuo = 6,
1463 Ai = 7,
1465 Customer = 8,
1467}
1468impl SessionPageType {
1469 pub fn as_str_name(&self) -> &'static str {
1474 match self {
1475 Self::Unknown => "SESSION_PAGE_TYPE_UNKNOWN",
1476 Self::Home => "SESSION_PAGE_TYPE_HOME",
1477 Self::Unfollowed => "SESSION_PAGE_TYPE_UNFOLLOWED",
1478 Self::Stranger => "SESSION_PAGE_TYPE_STRANGER",
1479 Self::Dustbin => "SESSION_PAGE_TYPE_DUSTBIN",
1480 Self::Group => "SESSION_PAGE_TYPE_GROUP",
1481 Self::HuaHuo => "SESSION_PAGE_TYPE_HUA_HUO",
1482 Self::Ai => "SESSION_PAGE_TYPE_AI",
1483 Self::Customer => "SESSION_PAGE_TYPE_CUSTOMER",
1484 }
1485 }
1486 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1488 match value {
1489 "SESSION_PAGE_TYPE_UNKNOWN" => Some(Self::Unknown),
1490 "SESSION_PAGE_TYPE_HOME" => Some(Self::Home),
1491 "SESSION_PAGE_TYPE_UNFOLLOWED" => Some(Self::Unfollowed),
1492 "SESSION_PAGE_TYPE_STRANGER" => Some(Self::Stranger),
1493 "SESSION_PAGE_TYPE_DUSTBIN" => Some(Self::Dustbin),
1494 "SESSION_PAGE_TYPE_GROUP" => Some(Self::Group),
1495 "SESSION_PAGE_TYPE_HUA_HUO" => Some(Self::HuaHuo),
1496 "SESSION_PAGE_TYPE_AI" => Some(Self::Ai),
1497 "SESSION_PAGE_TYPE_CUSTOMER" => Some(Self::Customer),
1498 _ => None,
1499 }
1500 }
1501}
1502#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1504#[repr(i32)]
1505pub enum SessionType {
1506 Unknown = 0,
1508 Private = 1,
1510 Group = 2,
1512 GroupFold = 3,
1514 Unfollowed = 4,
1516 Stranger = 5,
1518 Dustbin = 6,
1520 CustomerFold = 7,
1522 System = 8,
1524 AiFold = 9,
1526 CustomerAccount = 10,
1528}
1529impl SessionType {
1530 pub fn as_str_name(&self) -> &'static str {
1535 match self {
1536 Self::Unknown => "SESSION_TYPE_UNKNOWN",
1537 Self::Private => "SESSION_TYPE_PRIVATE",
1538 Self::Group => "SESSION_TYPE_GROUP",
1539 Self::GroupFold => "SESSION_TYPE_GROUP_FOLD",
1540 Self::Unfollowed => "SESSION_TYPE_UNFOLLOWED",
1541 Self::Stranger => "SESSION_TYPE_STRANGER",
1542 Self::Dustbin => "SESSION_TYPE_DUSTBIN",
1543 Self::CustomerFold => "SESSION_TYPE_CUSTOMER_FOLD",
1544 Self::System => "SESSION_TYPE_SYSTEM",
1545 Self::AiFold => "SESSION_TYPE_AI_FOLD",
1546 Self::CustomerAccount => "SESSION_TYPE_CUSTOMER_ACCOUNT",
1547 }
1548 }
1549 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1551 match value {
1552 "SESSION_TYPE_UNKNOWN" => Some(Self::Unknown),
1553 "SESSION_TYPE_PRIVATE" => Some(Self::Private),
1554 "SESSION_TYPE_GROUP" => Some(Self::Group),
1555 "SESSION_TYPE_GROUP_FOLD" => Some(Self::GroupFold),
1556 "SESSION_TYPE_UNFOLLOWED" => Some(Self::Unfollowed),
1557 "SESSION_TYPE_STRANGER" => Some(Self::Stranger),
1558 "SESSION_TYPE_DUSTBIN" => Some(Self::Dustbin),
1559 "SESSION_TYPE_CUSTOMER_FOLD" => Some(Self::CustomerFold),
1560 "SESSION_TYPE_SYSTEM" => Some(Self::System),
1561 "SESSION_TYPE_AI_FOLD" => Some(Self::AiFold),
1562 "SESSION_TYPE_CUSTOMER_ACCOUNT" => Some(Self::CustomerAccount),
1563 _ => None,
1564 }
1565 }
1566}
1567#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1569#[repr(i32)]
1570pub enum ThreeDotItemType {
1571 Unknown = 0,
1573 ReadAll = 1,
1575 MsgSetting = 2,
1577 AutoReply = 3,
1579 UpHelper = 4,
1581 LiveHelper = 5,
1583 FansGroupHelper = 6,
1585 ContributionPush = 7,
1587 Contacts = 8,
1589 ClearList = 9,
1591}
1592impl ThreeDotItemType {
1593 pub fn as_str_name(&self) -> &'static str {
1598 match self {
1599 Self::Unknown => "THREE_DOT_ITEM_TYPE_UNKNOWN",
1600 Self::ReadAll => "THREE_DOT_ITEM_TYPE_READ_ALL",
1601 Self::MsgSetting => "THREE_DOT_ITEM_TYPE_MSG_SETTING",
1602 Self::AutoReply => "THREE_DOT_ITEM_TYPE_AUTO_REPLY",
1603 Self::UpHelper => "THREE_DOT_ITEM_TYPE_UP_HELPER",
1604 Self::LiveHelper => "THREE_DOT_ITEM_TYPE_LIVE_HELPER",
1605 Self::FansGroupHelper => "THREE_DOT_ITEM_TYPE_FANS_GROUP_HELPER",
1606 Self::ContributionPush => "THREE_DOT_ITEM_TYPE_CONTRIBUTION_PUSH",
1607 Self::Contacts => "THREE_DOT_ITEM_TYPE_CONTACTS",
1608 Self::ClearList => "THREE_DOT_ITEM_TYPE_CLEAR_LIST",
1609 }
1610 }
1611 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1613 match value {
1614 "THREE_DOT_ITEM_TYPE_UNKNOWN" => Some(Self::Unknown),
1615 "THREE_DOT_ITEM_TYPE_READ_ALL" => Some(Self::ReadAll),
1616 "THREE_DOT_ITEM_TYPE_MSG_SETTING" => Some(Self::MsgSetting),
1617 "THREE_DOT_ITEM_TYPE_AUTO_REPLY" => Some(Self::AutoReply),
1618 "THREE_DOT_ITEM_TYPE_UP_HELPER" => Some(Self::UpHelper),
1619 "THREE_DOT_ITEM_TYPE_LIVE_HELPER" => Some(Self::LiveHelper),
1620 "THREE_DOT_ITEM_TYPE_FANS_GROUP_HELPER" => Some(Self::FansGroupHelper),
1621 "THREE_DOT_ITEM_TYPE_CONTRIBUTION_PUSH" => Some(Self::ContributionPush),
1622 "THREE_DOT_ITEM_TYPE_CONTACTS" => Some(Self::Contacts),
1623 "THREE_DOT_ITEM_TYPE_CLEAR_LIST" => Some(Self::ClearList),
1624 _ => None,
1625 }
1626 }
1627}
1628#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1630#[repr(i32)]
1631pub enum UnreadStyle {
1632 None = 0,
1634 Dot = 1,
1636 Number = 2,
1638}
1639impl UnreadStyle {
1640 pub fn as_str_name(&self) -> &'static str {
1645 match self {
1646 Self::None => "UNREAD_STYLE_NONE",
1647 Self::Dot => "UNREAD_STYLE_DOT",
1648 Self::Number => "UNREAD_STYLE_NUMBER",
1649 }
1650 }
1651 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1653 match value {
1654 "UNREAD_STYLE_NONE" => Some(Self::None),
1655 "UNREAD_STYLE_DOT" => Some(Self::Dot),
1656 "UNREAD_STYLE_NUMBER" => Some(Self::Number),
1657 _ => None,
1658 }
1659 }
1660}