mikufans_proto_intl/
bilibili.app.viewunite.pugvanymodel.rs

1// This file is @generated by prost-build.
2///
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct AbTest {
5    ///
6    #[prost(map = "string, int32", tag = "1")]
7    pub exp: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
8}
9///
10#[derive(Clone, PartialEq, ::prost::Message)]
11pub struct CatalogueInfo {
12    ///
13    #[prost(message, repeated, tag = "1")]
14    pub catalogues: ::prost::alloc::vec::Vec<SeasonCatalogue>,
15    ///
16    #[prost(message, optional, tag = "2")]
17    pub catalogue_live_info: ::core::option::Option<CatalogueLiveInfo>,
18    ///
19    #[prost(string, tag = "3")]
20    pub catalogue_update_text: ::prost::alloc::string::String,
21}
22///
23#[derive(Clone, PartialEq, ::prost::Message)]
24pub struct CatalogueLiveInfo {
25    ///
26    #[prost(int64, tag = "1")]
27    pub episode_id: i64,
28    ///
29    #[prost(string, tag = "2")]
30    pub title: ::prost::alloc::string::String,
31    ///
32    #[prost(string, tag = "3")]
33    pub subtitle: ::prost::alloc::string::String,
34    ///
35    #[prost(string, tag = "4")]
36    pub button_text: ::prost::alloc::string::String,
37    ///
38    #[prost(enumeration = "LiveStatus", tag = "5")]
39    pub status: i32,
40}
41///
42#[derive(Clone, PartialEq, ::prost::Message)]
43pub struct CourseCoach {
44    ///
45    #[prost(string, tag = "1")]
46    pub detail_url: ::prost::alloc::string::String,
47    ///
48    #[prost(string, tag = "2")]
49    pub directory_url: ::prost::alloc::string::String,
50}
51///
52#[derive(Clone, PartialEq, ::prost::Message)]
53pub struct Courseware {
54    ///
55    #[prost(int64, tag = "1")]
56    pub file_id: i64,
57    ///
58    #[prost(string, tag = "2")]
59    pub file_name: ::prost::alloc::string::String,
60    ///
61    #[prost(string, tag = "3")]
62    pub file_type: ::prost::alloc::string::String,
63    ///
64    #[prost(int64, tag = "4")]
65    pub file_size: i64,
66    ///
67    #[prost(string, tag = "5")]
68    pub desc: ::prost::alloc::string::String,
69    ///
70    #[prost(string, tag = "6")]
71    pub file_url: ::prost::alloc::string::String,
72    ///
73    #[prost(string, tag = "7")]
74    pub icon: ::prost::alloc::string::String,
75}
76///
77#[derive(Clone, PartialEq, ::prost::Message)]
78pub struct CoursewareInfo {
79    ///
80    #[prost(message, repeated, tag = "1")]
81    pub coursewares: ::prost::alloc::vec::Vec<Courseware>,
82}
83///
84#[derive(Clone, PartialEq, ::prost::Message)]
85pub struct CredentialInfo {
86    ///
87    #[prost(bool, tag = "1")]
88    pub tab_show: bool,
89    ///
90    #[prost(bool, tag = "2")]
91    pub tab_badge_show: bool,
92    ///
93    #[prost(string, tag = "3")]
94    pub tab_url: ::prost::alloc::string::String,
95    ///
96    #[prost(string, tag = "4")]
97    pub credential_url: ::prost::alloc::string::String,
98    ///
99    #[prost(int64, tag = "5")]
100    pub require_ep: i64,
101}
102///
103#[derive(Clone, PartialEq, ::prost::Message)]
104pub struct DanmakuControl {
105    ///
106    #[prost(bool, tag = "1")]
107    pub disabled: bool,
108    ///
109    #[prost(message, optional, tag = "2")]
110    pub extra_content: ::core::option::Option<ExtraContent>,
111}
112///
113#[derive(Clone, PartialEq, ::prost::Message)]
114pub struct Episode {
115    ///
116    #[prost(enumeration = "EpisodeType", tag = "1")]
117    pub r#type: i32,
118    ///
119    #[prost(oneof = "episode::Data", tags = "2, 3")]
120    pub data: ::core::option::Option<episode::Data>,
121}
122/// Nested message and enum types in `Episode`.
123pub mod episode {
124    ///
125    #[derive(Clone, PartialEq, ::prost::Oneof)]
126    pub enum Data {
127        ///
128        #[prost(message, tag = "2")]
129        VideoEpisode(super::VideoEpisode),
130        ///
131        #[prost(message, tag = "3")]
132        LiveEpisode(super::LiveEpisode),
133    }
134}
135///
136#[derive(Clone, Copy, PartialEq, ::prost::Message)]
137pub struct EpisodeDimension {
138    ///
139    #[prost(int64, tag = "1")]
140    pub width: i64,
141    ///
142    #[prost(int64, tag = "2")]
143    pub height: i64,
144    ///
145    #[prost(int64, tag = "3")]
146    pub rotate: i64,
147}
148///
149#[derive(Clone, PartialEq, ::prost::Message)]
150pub struct EpisodeHistory {
151    ///
152    #[prost(bool, tag = "1")]
153    pub last_play: bool,
154    ///
155    #[prost(string, tag = "2")]
156    pub last_play_text: ::prost::alloc::string::String,
157    ///
158    #[prost(int64, tag = "3")]
159    pub max_progress: i64,
160    ///
161    #[prost(string, tag = "4")]
162    pub full_watched_text: ::prost::alloc::string::String,
163}
164///
165#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct EpisodeLabel {
167    ///
168    #[prost(string, tag = "1")]
169    pub type_label: ::prost::alloc::string::String,
170}
171///
172#[derive(Clone, PartialEq, ::prost::Message)]
173pub struct EpisodeSelectionLabel {
174    ///
175    #[prost(string, tag = "1")]
176    pub type_label: ::prost::alloc::string::String,
177}
178///
179#[derive(Clone, PartialEq, ::prost::Message)]
180pub struct ExtraContent {
181    ///
182    #[prost(string, tag = "1")]
183    pub disabled_reason: ::prost::alloc::string::String,
184}
185///
186#[derive(Clone, Copy, PartialEq, ::prost::Message)]
187pub struct FragmentVideoMessage {
188    ///
189    #[prost(bool, tag = "1")]
190    pub has_fragment_video: bool,
191}
192///
193#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct GiftInfo {
195    ///
196    #[prost(string, tag = "1")]
197    pub url: ::prost::alloc::string::String,
198}
199///
200#[derive(Clone, PartialEq, ::prost::Message)]
201pub struct LiveEpisode {
202    ///
203    #[prost(int64, tag = "1")]
204    pub episode_id: i64,
205    ///
206    #[prost(enumeration = "LiveStatus", tag = "2")]
207    pub status: i32,
208    ///
209    #[prost(bool, tag = "3")]
210    pub jump: bool,
211    ///
212    #[prost(int64, tag = "4")]
213    pub live_teacher_mid: i64,
214    ///
215    #[prost(bool, tag = "5")]
216    pub show_subscription_prebook_button: bool,
217    ///
218    #[prost(bool, tag = "6")]
219    pub be_subscription_prebook: bool,
220    ///
221    #[prost(int64, tag = "7")]
222    pub index: i64,
223    ///
224    #[prost(string, tag = "8")]
225    pub title: ::prost::alloc::string::String,
226    ///
227    #[prost(string, tag = "9")]
228    pub play_way_subtitle: ::prost::alloc::string::String,
229    ///
230    #[prost(string, tag = "10")]
231    pub subtitle: ::prost::alloc::string::String,
232    ///
233    #[prost(bool, tag = "11")]
234    pub show_lock_icon: bool,
235    ///
236    #[prost(message, optional, tag = "12")]
237    pub episode_label: ::core::option::Option<EpisodeLabel>,
238    ///
239    #[prost(message, optional, tag = "13")]
240    pub selection_label: ::core::option::Option<EpisodeSelectionLabel>,
241}
242///
243#[derive(Clone, Copy, PartialEq, ::prost::Message)]
244pub struct LiveInfo {
245    ///
246    #[prost(int64, tag = "1")]
247    pub episode_id: i64,
248    ///
249    #[prost(enumeration = "LiveStatus", tag = "2")]
250    pub status: i32,
251    ///
252    #[prost(bool, tag = "3")]
253    pub jump: bool,
254    ///
255    #[prost(int64, tag = "4")]
256    pub live_teacher_mid: i64,
257    ///
258    #[prost(bool, tag = "5")]
259    pub show_subscription_prebook_button: bool,
260    ///
261    #[prost(bool, tag = "6")]
262    pub be_subscription_prebook: bool,
263}
264///
265#[derive(Clone, PartialEq, ::prost::Message)]
266pub struct NetdiskCourseware {
267    ///
268    #[prost(int64, tag = "1")]
269    pub courseware_id: i64,
270    ///
271    #[prost(string, tag = "2")]
272    pub name: ::prost::alloc::string::String,
273    ///
274    #[prost(string, tag = "3")]
275    pub remark: ::prost::alloc::string::String,
276    ///
277    #[prost(string, tag = "4")]
278    pub desc: ::prost::alloc::string::String,
279    ///
280    #[prost(string, tag = "5")]
281    pub url: ::prost::alloc::string::String,
282    ///
283    #[prost(string, tag = "6")]
284    pub icon: ::prost::alloc::string::String,
285}
286///
287#[derive(Clone, PartialEq, ::prost::Message)]
288pub struct NetdiskCoursewareInfo {
289    ///
290    #[prost(message, repeated, tag = "1")]
291    pub coursewares: ::prost::alloc::vec::Vec<NetdiskCourseware>,
292}
293///
294#[derive(Clone, PartialEq, ::prost::Message)]
295pub struct OperationArea {
296    ///
297    #[prost(message, repeated, tag = "1")]
298    pub buttons: ::prost::alloc::vec::Vec<OperationAreaButton>,
299}
300///
301#[derive(Clone, PartialEq, ::prost::Message)]
302pub struct OperationAreaButton {
303    ///
304    #[prost(enumeration = "OperationAreaButtonType", tag = "1")]
305    pub r#type: i32,
306    ///
307    #[prost(string, tag = "2")]
308    pub text: ::prost::alloc::string::String,
309    ///
310    #[prost(bool, tag = "3")]
311    pub disabled: bool,
312    ///
313    #[prost(string, tag = "4")]
314    pub link: ::prost::alloc::string::String,
315}
316///
317#[derive(Clone, PartialEq, ::prost::Message)]
318pub struct PostPurchaseInfo {
319    ///
320    #[prost(string, tag = "1")]
321    pub pop_up_pic: ::prost::alloc::string::String,
322    ///
323    #[prost(int64, tag = "2")]
324    pub pop_up_interval: i64,
325}
326///
327#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct SeasonCatalogue {
329    ///
330    #[prost(string, tag = "1")]
331    pub title: ::prost::alloc::string::String,
332    ///
333    #[prost(int64, tag = "2")]
334    pub index: i64,
335    ///
336    #[prost(int64, tag = "3")]
337    pub start_ep_index: i64,
338    ///
339    #[prost(int64, tag = "4")]
340    pub end_ep_index: i64,
341}
342///
343#[derive(Clone, PartialEq, ::prost::Message)]
344pub struct SeasonCoupon {
345    ///
346    #[prost(string, tag = "1")]
347    pub token: ::prost::alloc::string::String,
348    ///
349    #[prost(string, tag = "2")]
350    pub title: ::prost::alloc::string::String,
351    ///
352    #[prost(string, tag = "3")]
353    pub start_time: ::prost::alloc::string::String,
354    ///
355    #[prost(string, tag = "4")]
356    pub expire_time: ::prost::alloc::string::String,
357    ///
358    #[prost(double, tag = "5")]
359    pub amount: f64,
360    ///
361    #[prost(string, tag = "6")]
362    pub show_amount: ::prost::alloc::string::String,
363    ///
364    #[prost(enumeration = "SeasonCouponStatus", tag = "7")]
365    pub status: i32,
366    ///
367    #[prost(enumeration = "SeasonCouponType", tag = "8")]
368    pub coupon_type: i32,
369    ///
370    #[prost(string, tag = "9")]
371    pub short_title: ::prost::alloc::string::String,
372    ///
373    #[prost(string, tag = "10")]
374    pub expire_minute: ::prost::alloc::string::String,
375    ///
376    #[prost(string, tag = "11")]
377    pub use_scope: ::prost::alloc::string::String,
378    ///
379    #[prost(string, tag = "12")]
380    pub discount_amount: ::prost::alloc::string::String,
381    ///
382    #[prost(int64, tag = "13")]
383    pub receive_expire_time: i64,
384    ///
385    #[prost(int64, tag = "14")]
386    pub use_expire_time: i64,
387    ///
388    #[prost(string, tag = "15")]
389    pub scene_mark: ::prost::alloc::string::String,
390    ///
391    #[prost(string, tag = "16")]
392    pub scene_background_img: ::prost::alloc::string::String,
393    ///
394    #[prost(string, tag = "17")]
395    pub scene_benefit_img: ::prost::alloc::string::String,
396    ///
397    #[prost(bool, tag = "18")]
398    pub scene_countdown: bool,
399}
400///
401#[derive(Clone, PartialEq, ::prost::Message)]
402pub struct SeasonCustom {
403    ///
404    #[prost(message, optional, tag = "1")]
405    pub water_mark: ::core::option::Option<WaterMark>,
406    ///
407    #[prost(message, optional, tag = "2")]
408    pub danmaku_control: ::core::option::Option<DanmakuControl>,
409}
410///
411#[derive(Clone, PartialEq, ::prost::Message)]
412pub struct SeasonOverview {
413    ///
414    #[prost(int64, tag = "1")]
415    pub season_id: i64,
416    ///
417    #[prost(bool, tag = "2")]
418    pub support_cash: bool,
419    ///
420    #[prost(enumeration = "SeasonStatus", tag = "3")]
421    pub status: i32,
422    ///
423    #[prost(enumeration = "SeasonType", tag = "4")]
424    pub r#type: i32,
425    ///
426    #[prost(string, tag = "5")]
427    pub cover: ::prost::alloc::string::String,
428    ///
429    #[prost(string, tag = "6")]
430    pub title: ::prost::alloc::string::String,
431}
432///
433#[derive(Clone, PartialEq, ::prost::Message)]
434pub struct SeasonPayment {
435    ///
436    #[prost(string, tag = "1")]
437    pub price_unit: ::prost::alloc::string::String,
438    ///
439    #[prost(string, tag = "2")]
440    pub discount_price: ::prost::alloc::string::String,
441    ///
442    #[prost(string, tag = "3")]
443    pub discount_price_desc: ::prost::alloc::string::String,
444    ///
445    #[prost(string, tag = "4")]
446    pub original_price: ::prost::alloc::string::String,
447    ///
448    #[prost(string, tag = "5")]
449    pub original_price_desc: ::prost::alloc::string::String,
450}
451///
452#[derive(Clone, PartialEq, ::prost::Message)]
453pub struct SeasonSection {
454    ///
455    #[prost(int64, tag = "1")]
456    pub section_id: i64,
457    ///
458    #[prost(string, tag = "2")]
459    pub title: ::prost::alloc::string::String,
460    ///
461    #[prost(enumeration = "SeasonSectionType", tag = "3")]
462    pub r#type: i32,
463    ///
464    #[prost(message, repeated, tag = "4")]
465    pub coursewares: ::prost::alloc::vec::Vec<Courseware>,
466    ///
467    #[prost(message, repeated, tag = "5")]
468    pub episodes: ::prost::alloc::vec::Vec<Episode>,
469}
470///
471#[derive(Clone, Copy, PartialEq, ::prost::Message)]
472pub struct SeasonStat {
473    ///
474    #[prost(int64, tag = "1")]
475    pub fav: i64,
476    ///
477    #[prost(int64, tag = "2")]
478    pub share: i64,
479}
480///
481#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct SectionInfo {
483    ///
484    #[prost(message, repeated, tag = "1")]
485    pub sections: ::prost::alloc::vec::Vec<SeasonSection>,
486}
487///
488#[derive(Clone, PartialEq, ::prost::Message)]
489pub struct VideoEpisode {
490    ///
491    #[prost(message, repeated, tag = "1")]
492    pub coursewares: ::prost::alloc::vec::Vec<Courseware>,
493    ///
494    #[prost(int64, tag = "2")]
495    pub index: i64,
496    ///
497    #[prost(enumeration = "EpisodeStatus", tag = "3")]
498    pub status: i32,
499    ///
500    #[prost(int64, tag = "4")]
501    pub aid: i64,
502    ///
503    #[prost(int64, tag = "5")]
504    pub cid: i64,
505    ///
506    #[prost(string, tag = "6")]
507    pub title: ::prost::alloc::string::String,
508    ///
509    #[prost(string, tag = "7")]
510    pub play_way_subtitle: ::prost::alloc::string::String,
511    ///
512    #[prost(string, tag = "8")]
513    pub subtitle: ::prost::alloc::string::String,
514    ///
515    #[prost(int64, tag = "9")]
516    pub duration: i64,
517    ///
518    #[prost(bool, tag = "10")]
519    pub can_switch: bool,
520    ///
521    #[prost(bool, tag = "11")]
522    pub can_play: bool,
523    ///
524    #[prost(bool, tag = "12")]
525    pub show_lock_icon: bool,
526    ///
527    #[prost(message, optional, tag = "13")]
528    pub episode_label: ::core::option::Option<EpisodeLabel>,
529    ///
530    #[prost(message, optional, tag = "14")]
531    pub selection_label: ::core::option::Option<EpisodeSelectionLabel>,
532    ///
533    #[prost(message, optional, tag = "15")]
534    pub history: ::core::option::Option<EpisodeHistory>,
535    ///
536    #[prost(enumeration = "VideoPlayWay", tag = "16")]
537    pub play_way: i32,
538    ///
539    #[prost(int64, tag = "17")]
540    pub episode_id: i64,
541    ///
542    #[prost(string, tag = "18")]
543    pub share_link: ::prost::alloc::string::String,
544    ///
545    #[prost(message, optional, tag = "19")]
546    pub dimension: ::core::option::Option<EpisodeDimension>,
547}
548///
549#[derive(Clone, PartialEq, ::prost::Message)]
550pub struct ViewPugvAny {
551    ///
552    #[prost(message, optional, tag = "1")]
553    pub season_overview: ::core::option::Option<SeasonOverview>,
554    ///
555    #[prost(message, optional, tag = "2")]
556    pub season_payment: ::core::option::Option<SeasonPayment>,
557    ///
558    #[prost(message, optional, tag = "3")]
559    pub season_coupon: ::core::option::Option<SeasonCoupon>,
560    ///
561    #[prost(message, optional, tag = "4")]
562    pub catalogue_info: ::core::option::Option<CatalogueInfo>,
563    ///
564    #[prost(message, optional, tag = "5")]
565    pub season_custom: ::core::option::Option<SeasonCustom>,
566    ///
567    #[prost(message, optional, tag = "6")]
568    pub courseware_info: ::core::option::Option<CoursewareInfo>,
569    ///
570    #[prost(message, optional, tag = "7")]
571    pub course_coach: ::core::option::Option<CourseCoach>,
572    ///
573    #[prost(message, optional, tag = "8")]
574    pub section_info: ::core::option::Option<SectionInfo>,
575    ///
576    #[prost(message, optional, tag = "9")]
577    pub ab_test: ::core::option::Option<AbTest>,
578    ///
579    #[prost(message, optional, tag = "10")]
580    pub operation_area: ::core::option::Option<OperationArea>,
581    ///
582    #[prost(message, optional, tag = "11")]
583    pub season_stat: ::core::option::Option<SeasonStat>,
584    ///
585    #[prost(message, optional, tag = "12")]
586    pub post_purchase_info: ::core::option::Option<PostPurchaseInfo>,
587    ///
588    #[prost(message, optional, tag = "13")]
589    pub gift_info: ::core::option::Option<GiftInfo>,
590    ///
591    #[prost(message, optional, tag = "14")]
592    pub netdisk_courseware_info: ::core::option::Option<NetdiskCoursewareInfo>,
593    ///
594    #[prost(message, optional, tag = "15")]
595    pub credential_info: ::core::option::Option<CredentialInfo>,
596    ///
597    #[prost(message, optional, tag = "16")]
598    pub fragment_video_message: ::core::option::Option<FragmentVideoMessage>,
599}
600///
601#[derive(Clone, Copy, PartialEq, ::prost::Message)]
602pub struct WaterMark {
603    ///
604    #[prost(bool, tag = "1")]
605    pub show_watermark: bool,
606    ///
607    #[prost(int64, tag = "2")]
608    pub watermark_interval: i64,
609}
610///
611#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
612#[repr(i32)]
613pub enum EpisodeStatus {
614    ///
615    Unspecified = 0,
616    ///
617    TryWatchWhole = 1,
618    ///
619    NotTryWatch = 2,
620    ///
621    TryWatch5Minutes = 3,
622}
623impl EpisodeStatus {
624    /// String value of the enum field names used in the ProtoBuf definition.
625    ///
626    /// The values are not transformed in any way and thus are considered stable
627    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
628    pub fn as_str_name(&self) -> &'static str {
629        match self {
630            Self::Unspecified => "EPISODE_STATUS_UNSPECIFIED",
631            Self::TryWatchWhole => "EPISODE_STATUS_TRY_WATCH_WHOLE",
632            Self::NotTryWatch => "EPISODE_STATUS_NOT_TRY_WATCH",
633            Self::TryWatch5Minutes => "EPISODE_STATUS_TRY_WATCH_5_MINUTES",
634        }
635    }
636    /// Creates an enum from field names used in the ProtoBuf definition.
637    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
638        match value {
639            "EPISODE_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
640            "EPISODE_STATUS_TRY_WATCH_WHOLE" => Some(Self::TryWatchWhole),
641            "EPISODE_STATUS_NOT_TRY_WATCH" => Some(Self::NotTryWatch),
642            "EPISODE_STATUS_TRY_WATCH_5_MINUTES" => Some(Self::TryWatch5Minutes),
643            _ => None,
644        }
645    }
646}
647///
648#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
649#[repr(i32)]
650pub enum EpisodeType {
651    ///
652    Unspecified = 0,
653    ///
654    Video = 1,
655    ///
656    Live = 2,
657}
658impl EpisodeType {
659    /// String value of the enum field names used in the ProtoBuf definition.
660    ///
661    /// The values are not transformed in any way and thus are considered stable
662    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
663    pub fn as_str_name(&self) -> &'static str {
664        match self {
665            Self::Unspecified => "EPISODE_TYPE_UNSPECIFIED",
666            Self::Video => "EPISODE_TYPE_VIDEO",
667            Self::Live => "EPISODE_TYPE_LIVE",
668        }
669    }
670    /// Creates an enum from field names used in the ProtoBuf definition.
671    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
672        match value {
673            "EPISODE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
674            "EPISODE_TYPE_VIDEO" => Some(Self::Video),
675            "EPISODE_TYPE_LIVE" => Some(Self::Live),
676            _ => None,
677        }
678    }
679}
680///
681#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
682#[repr(i32)]
683pub enum LiveStatus {
684    ///
685    Unspecified = 0,
686    ///
687    Prepare = 1,
688    ///
689    Live = 2,
690    ///
691    PlaybackGenerating = 3,
692}
693impl LiveStatus {
694    /// String value of the enum field names used in the ProtoBuf definition.
695    ///
696    /// The values are not transformed in any way and thus are considered stable
697    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
698    pub fn as_str_name(&self) -> &'static str {
699        match self {
700            Self::Unspecified => "LIVE_STATUS_UNSPECIFIED",
701            Self::Prepare => "LIVE_STATUS_PREPARE",
702            Self::Live => "LIVE_STATUS_LIVE",
703            Self::PlaybackGenerating => "LIVE_STATUS_PLAYBACK_GENERATING",
704        }
705    }
706    /// Creates an enum from field names used in the ProtoBuf definition.
707    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
708        match value {
709            "LIVE_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
710            "LIVE_STATUS_PREPARE" => Some(Self::Prepare),
711            "LIVE_STATUS_LIVE" => Some(Self::Live),
712            "LIVE_STATUS_PLAYBACK_GENERATING" => Some(Self::PlaybackGenerating),
713            _ => None,
714        }
715    }
716}
717///
718#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
719#[repr(i32)]
720pub enum OperationAreaButtonType {
721    ///
722    Unspecified = 0,
723    ///
724    Favorite = 1,
725    ///
726    Consult = 2,
727    ///
728    Share = 3,
729    ///
730    Purchase = 4,
731}
732impl OperationAreaButtonType {
733    /// String value of the enum field names used in the ProtoBuf definition.
734    ///
735    /// The values are not transformed in any way and thus are considered stable
736    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
737    pub fn as_str_name(&self) -> &'static str {
738        match self {
739            Self::Unspecified => "OPERATION_AREA_BUTTON_TYPE_UNSPECIFIED",
740            Self::Favorite => "OPERATION_AREA_BUTTON_TYPE_FAVORITE",
741            Self::Consult => "OPERATION_AREA_BUTTON_TYPE_CONSULT",
742            Self::Share => "OPERATION_AREA_BUTTON_TYPE_SHARE",
743            Self::Purchase => "OPERATION_AREA_BUTTON_TYPE_PURCHASE",
744        }
745    }
746    /// Creates an enum from field names used in the ProtoBuf definition.
747    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
748        match value {
749            "OPERATION_AREA_BUTTON_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
750            "OPERATION_AREA_BUTTON_TYPE_FAVORITE" => Some(Self::Favorite),
751            "OPERATION_AREA_BUTTON_TYPE_CONSULT" => Some(Self::Consult),
752            "OPERATION_AREA_BUTTON_TYPE_SHARE" => Some(Self::Share),
753            "OPERATION_AREA_BUTTON_TYPE_PURCHASE" => Some(Self::Purchase),
754            _ => None,
755        }
756    }
757}
758///
759#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
760#[repr(i32)]
761pub enum SeasonCouponStatus {
762    ///
763    Unspecified = 0,
764    ///
765    Received = 1,
766    ///
767    NotReceived = 2,
768    ///
769    Invalid = 3,
770}
771impl SeasonCouponStatus {
772    /// String value of the enum field names used in the ProtoBuf definition.
773    ///
774    /// The values are not transformed in any way and thus are considered stable
775    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
776    pub fn as_str_name(&self) -> &'static str {
777        match self {
778            Self::Unspecified => "SEASON_COUPON_STATUS_UNSPECIFIED",
779            Self::Received => "SEASON_COUPON_STATUS_RECEIVED",
780            Self::NotReceived => "SEASON_COUPON_STATUS_NOT_RECEIVED",
781            Self::Invalid => "SEASON_COUPON_STATUS_INVALID",
782        }
783    }
784    /// Creates an enum from field names used in the ProtoBuf definition.
785    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
786        match value {
787            "SEASON_COUPON_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
788            "SEASON_COUPON_STATUS_RECEIVED" => Some(Self::Received),
789            "SEASON_COUPON_STATUS_NOT_RECEIVED" => Some(Self::NotReceived),
790            "SEASON_COUPON_STATUS_INVALID" => Some(Self::Invalid),
791            _ => None,
792        }
793    }
794}
795///
796#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
797#[repr(i32)]
798pub enum SeasonCouponType {
799    ///
800    Unspecified = 0,
801    ///
802    Discount = 1,
803    ///
804    Decrease = 2,
805}
806impl SeasonCouponType {
807    /// String value of the enum field names used in the ProtoBuf definition.
808    ///
809    /// The values are not transformed in any way and thus are considered stable
810    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
811    pub fn as_str_name(&self) -> &'static str {
812        match self {
813            Self::Unspecified => "SEASON_COUPON_TYPE_UNSPECIFIED",
814            Self::Discount => "SEASON_COUPON_TYPE_DISCOUNT",
815            Self::Decrease => "SEASON_COUPON_TYPE_DECREASE",
816        }
817    }
818    /// Creates an enum from field names used in the ProtoBuf definition.
819    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
820        match value {
821            "SEASON_COUPON_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
822            "SEASON_COUPON_TYPE_DISCOUNT" => Some(Self::Discount),
823            "SEASON_COUPON_TYPE_DECREASE" => Some(Self::Decrease),
824            _ => None,
825        }
826    }
827}
828///
829#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
830#[repr(i32)]
831pub enum SeasonSectionType {
832    ///
833    Unspecified = 0,
834    ///
835    Default = 1,
836    ///
837    Custom = 2,
838}
839impl SeasonSectionType {
840    /// String value of the enum field names used in the ProtoBuf definition.
841    ///
842    /// The values are not transformed in any way and thus are considered stable
843    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
844    pub fn as_str_name(&self) -> &'static str {
845        match self {
846            Self::Unspecified => "SEASON_SECTION_TYPE_UNSPECIFIED",
847            Self::Default => "SEASON_SECTION_TYPE_DEFAULT",
848            Self::Custom => "SEASON_SECTION_TYPE_CUSTOM",
849        }
850    }
851    /// Creates an enum from field names used in the ProtoBuf definition.
852    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
853        match value {
854            "SEASON_SECTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
855            "SEASON_SECTION_TYPE_DEFAULT" => Some(Self::Default),
856            "SEASON_SECTION_TYPE_CUSTOM" => Some(Self::Custom),
857            _ => None,
858        }
859    }
860}
861///
862#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
863#[repr(i32)]
864pub enum SeasonStatus {
865    ///
866    Unspecified = 0,
867    ///
868    Offline = 1,
869}
870impl SeasonStatus {
871    /// String value of the enum field names used in the ProtoBuf definition.
872    ///
873    /// The values are not transformed in any way and thus are considered stable
874    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
875    pub fn as_str_name(&self) -> &'static str {
876        match self {
877            Self::Unspecified => "SEASON_STATUS_UNSPECIFIED",
878            Self::Offline => "SEASON_STATUS_OFFLINE",
879        }
880    }
881    /// Creates an enum from field names used in the ProtoBuf definition.
882    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
883        match value {
884            "SEASON_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
885            "SEASON_STATUS_OFFLINE" => Some(Self::Offline),
886            _ => None,
887        }
888    }
889}
890///
891#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
892#[repr(i32)]
893pub enum SeasonType {
894    ///
895    Unspecified = 0,
896    ///
897    Installment = 1,
898    ///
899    Free = 2,
900    ///
901    Subscription = 3,
902}
903impl SeasonType {
904    /// String value of the enum field names used in the ProtoBuf definition.
905    ///
906    /// The values are not transformed in any way and thus are considered stable
907    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
908    pub fn as_str_name(&self) -> &'static str {
909        match self {
910            Self::Unspecified => "SEASON_TYPE_UNSPECIFIED",
911            Self::Installment => "SEASON_TYPE_INSTALLMENT",
912            Self::Free => "SEASON_TYPE_FREE",
913            Self::Subscription => "SEASON_TYPE_SUBSCRIPTION",
914        }
915    }
916    /// Creates an enum from field names used in the ProtoBuf definition.
917    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
918        match value {
919            "SEASON_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
920            "SEASON_TYPE_INSTALLMENT" => Some(Self::Installment),
921            "SEASON_TYPE_FREE" => Some(Self::Free),
922            "SEASON_TYPE_SUBSCRIPTION" => Some(Self::Subscription),
923            _ => None,
924        }
925    }
926}
927///
928#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
929#[repr(i32)]
930pub enum VideoPlayWay {
931    ///
932    Unspecified = 0,
933    ///
934    Vod = 1,
935    ///
936    LivePlayback = 2,
937}
938impl VideoPlayWay {
939    /// String value of the enum field names used in the ProtoBuf definition.
940    ///
941    /// The values are not transformed in any way and thus are considered stable
942    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
943    pub fn as_str_name(&self) -> &'static str {
944        match self {
945            Self::Unspecified => "VIDEO_PLAY_WAY_UNSPECIFIED",
946            Self::Vod => "VIDEO_PLAY_WAY_VOD",
947            Self::LivePlayback => "VIDEO_PLAY_WAY_LIVE_PLAYBACK",
948        }
949    }
950    /// Creates an enum from field names used in the ProtoBuf definition.
951    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
952        match value {
953            "VIDEO_PLAY_WAY_UNSPECIFIED" => Some(Self::Unspecified),
954            "VIDEO_PLAY_WAY_VOD" => Some(Self::Vod),
955            "VIDEO_PLAY_WAY_LIVE_PLAYBACK" => Some(Self::LivePlayback),
956            _ => None,
957        }
958    }
959}