1#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct AbTest {
5 #[prost(map = "string, int32", tag = "1")]
7 pub exp: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
8}
9#[derive(Clone, PartialEq, ::prost::Message)]
11pub struct CatalogueInfo {
12 #[prost(message, repeated, tag = "1")]
14 pub catalogues: ::prost::alloc::vec::Vec<SeasonCatalogue>,
15 #[prost(message, optional, tag = "2")]
17 pub catalogue_live_info: ::core::option::Option<CatalogueLiveInfo>,
18 #[prost(string, tag = "3")]
20 pub catalogue_update_text: ::prost::alloc::string::String,
21}
22#[derive(Clone, PartialEq, ::prost::Message)]
24pub struct CatalogueLiveInfo {
25 #[prost(int64, tag = "1")]
27 pub episode_id: i64,
28 #[prost(string, tag = "2")]
30 pub title: ::prost::alloc::string::String,
31 #[prost(string, tag = "3")]
33 pub subtitle: ::prost::alloc::string::String,
34 #[prost(string, tag = "4")]
36 pub button_text: ::prost::alloc::string::String,
37 #[prost(enumeration = "LiveStatus", tag = "5")]
39 pub status: i32,
40}
41#[derive(Clone, PartialEq, ::prost::Message)]
43pub struct CourseCoach {
44 #[prost(string, tag = "1")]
46 pub detail_url: ::prost::alloc::string::String,
47 #[prost(string, tag = "2")]
49 pub directory_url: ::prost::alloc::string::String,
50}
51#[derive(Clone, PartialEq, ::prost::Message)]
53pub struct Courseware {
54 #[prost(int64, tag = "1")]
56 pub file_id: i64,
57 #[prost(string, tag = "2")]
59 pub file_name: ::prost::alloc::string::String,
60 #[prost(string, tag = "3")]
62 pub file_type: ::prost::alloc::string::String,
63 #[prost(int64, tag = "4")]
65 pub file_size: i64,
66 #[prost(string, tag = "5")]
68 pub desc: ::prost::alloc::string::String,
69 #[prost(string, tag = "6")]
71 pub file_url: ::prost::alloc::string::String,
72 #[prost(string, tag = "7")]
74 pub icon: ::prost::alloc::string::String,
75}
76#[derive(Clone, PartialEq, ::prost::Message)]
78pub struct CoursewareInfo {
79 #[prost(message, repeated, tag = "1")]
81 pub coursewares: ::prost::alloc::vec::Vec<Courseware>,
82}
83#[derive(Clone, PartialEq, ::prost::Message)]
85pub struct CredentialInfo {
86 #[prost(bool, tag = "1")]
88 pub tab_show: bool,
89 #[prost(bool, tag = "2")]
91 pub tab_badge_show: bool,
92 #[prost(string, tag = "3")]
94 pub tab_url: ::prost::alloc::string::String,
95 #[prost(string, tag = "4")]
97 pub credential_url: ::prost::alloc::string::String,
98 #[prost(int64, tag = "5")]
100 pub require_ep: i64,
101}
102#[derive(Clone, PartialEq, ::prost::Message)]
104pub struct DanmakuControl {
105 #[prost(bool, tag = "1")]
107 pub disabled: bool,
108 #[prost(message, optional, tag = "2")]
110 pub extra_content: ::core::option::Option<ExtraContent>,
111}
112#[derive(Clone, PartialEq, ::prost::Message)]
114pub struct Episode {
115 #[prost(enumeration = "EpisodeType", tag = "1")]
117 pub r#type: i32,
118 #[prost(oneof = "episode::Data", tags = "2, 3")]
120 pub data: ::core::option::Option<episode::Data>,
121}
122pub mod episode {
124 #[derive(Clone, PartialEq, ::prost::Oneof)]
126 pub enum Data {
127 #[prost(message, tag = "2")]
129 VideoEpisode(super::VideoEpisode),
130 #[prost(message, tag = "3")]
132 LiveEpisode(super::LiveEpisode),
133 }
134}
135#[derive(Clone, Copy, PartialEq, ::prost::Message)]
137pub struct EpisodeDimension {
138 #[prost(int64, tag = "1")]
140 pub width: i64,
141 #[prost(int64, tag = "2")]
143 pub height: i64,
144 #[prost(int64, tag = "3")]
146 pub rotate: i64,
147}
148#[derive(Clone, PartialEq, ::prost::Message)]
150pub struct EpisodeHistory {
151 #[prost(bool, tag = "1")]
153 pub last_play: bool,
154 #[prost(string, tag = "2")]
156 pub last_play_text: ::prost::alloc::string::String,
157 #[prost(int64, tag = "3")]
159 pub max_progress: i64,
160 #[prost(string, tag = "4")]
162 pub full_watched_text: ::prost::alloc::string::String,
163}
164#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct EpisodeLabel {
167 #[prost(string, tag = "1")]
169 pub type_label: ::prost::alloc::string::String,
170}
171#[derive(Clone, PartialEq, ::prost::Message)]
173pub struct EpisodeSelectionLabel {
174 #[prost(string, tag = "1")]
176 pub type_label: ::prost::alloc::string::String,
177}
178#[derive(Clone, PartialEq, ::prost::Message)]
180pub struct ExtraContent {
181 #[prost(string, tag = "1")]
183 pub disabled_reason: ::prost::alloc::string::String,
184}
185#[derive(Clone, Copy, PartialEq, ::prost::Message)]
187pub struct FragmentVideoMessage {
188 #[prost(bool, tag = "1")]
190 pub has_fragment_video: bool,
191}
192#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct GiftInfo {
195 #[prost(string, tag = "1")]
197 pub url: ::prost::alloc::string::String,
198}
199#[derive(Clone, PartialEq, ::prost::Message)]
201pub struct LiveEpisode {
202 #[prost(int64, tag = "1")]
204 pub episode_id: i64,
205 #[prost(enumeration = "LiveStatus", tag = "2")]
207 pub status: i32,
208 #[prost(bool, tag = "3")]
210 pub jump: bool,
211 #[prost(int64, tag = "4")]
213 pub live_teacher_mid: i64,
214 #[prost(bool, tag = "5")]
216 pub show_subscription_prebook_button: bool,
217 #[prost(bool, tag = "6")]
219 pub be_subscription_prebook: bool,
220 #[prost(int64, tag = "7")]
222 pub index: i64,
223 #[prost(string, tag = "8")]
225 pub title: ::prost::alloc::string::String,
226 #[prost(string, tag = "9")]
228 pub play_way_subtitle: ::prost::alloc::string::String,
229 #[prost(string, tag = "10")]
231 pub subtitle: ::prost::alloc::string::String,
232 #[prost(bool, tag = "11")]
234 pub show_lock_icon: bool,
235 #[prost(message, optional, tag = "12")]
237 pub episode_label: ::core::option::Option<EpisodeLabel>,
238 #[prost(message, optional, tag = "13")]
240 pub selection_label: ::core::option::Option<EpisodeSelectionLabel>,
241}
242#[derive(Clone, Copy, PartialEq, ::prost::Message)]
244pub struct LiveInfo {
245 #[prost(int64, tag = "1")]
247 pub episode_id: i64,
248 #[prost(enumeration = "LiveStatus", tag = "2")]
250 pub status: i32,
251 #[prost(bool, tag = "3")]
253 pub jump: bool,
254 #[prost(int64, tag = "4")]
256 pub live_teacher_mid: i64,
257 #[prost(bool, tag = "5")]
259 pub show_subscription_prebook_button: bool,
260 #[prost(bool, tag = "6")]
262 pub be_subscription_prebook: bool,
263}
264#[derive(Clone, PartialEq, ::prost::Message)]
266pub struct NetdiskCourseware {
267 #[prost(int64, tag = "1")]
269 pub courseware_id: i64,
270 #[prost(string, tag = "2")]
272 pub name: ::prost::alloc::string::String,
273 #[prost(string, tag = "3")]
275 pub remark: ::prost::alloc::string::String,
276 #[prost(string, tag = "4")]
278 pub desc: ::prost::alloc::string::String,
279 #[prost(string, tag = "5")]
281 pub url: ::prost::alloc::string::String,
282 #[prost(string, tag = "6")]
284 pub icon: ::prost::alloc::string::String,
285}
286#[derive(Clone, PartialEq, ::prost::Message)]
288pub struct NetdiskCoursewareInfo {
289 #[prost(message, repeated, tag = "1")]
291 pub coursewares: ::prost::alloc::vec::Vec<NetdiskCourseware>,
292}
293#[derive(Clone, PartialEq, ::prost::Message)]
295pub struct OperationArea {
296 #[prost(message, repeated, tag = "1")]
298 pub buttons: ::prost::alloc::vec::Vec<OperationAreaButton>,
299}
300#[derive(Clone, PartialEq, ::prost::Message)]
302pub struct OperationAreaButton {
303 #[prost(enumeration = "OperationAreaButtonType", tag = "1")]
305 pub r#type: i32,
306 #[prost(string, tag = "2")]
308 pub text: ::prost::alloc::string::String,
309 #[prost(bool, tag = "3")]
311 pub disabled: bool,
312 #[prost(string, tag = "4")]
314 pub link: ::prost::alloc::string::String,
315}
316#[derive(Clone, PartialEq, ::prost::Message)]
318pub struct PostPurchaseInfo {
319 #[prost(string, tag = "1")]
321 pub pop_up_pic: ::prost::alloc::string::String,
322 #[prost(int64, tag = "2")]
324 pub pop_up_interval: i64,
325}
326#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct SeasonCatalogue {
329 #[prost(string, tag = "1")]
331 pub title: ::prost::alloc::string::String,
332 #[prost(int64, tag = "2")]
334 pub index: i64,
335 #[prost(int64, tag = "3")]
337 pub start_ep_index: i64,
338 #[prost(int64, tag = "4")]
340 pub end_ep_index: i64,
341}
342#[derive(Clone, PartialEq, ::prost::Message)]
344pub struct SeasonCoupon {
345 #[prost(string, tag = "1")]
347 pub token: ::prost::alloc::string::String,
348 #[prost(string, tag = "2")]
350 pub title: ::prost::alloc::string::String,
351 #[prost(string, tag = "3")]
353 pub start_time: ::prost::alloc::string::String,
354 #[prost(string, tag = "4")]
356 pub expire_time: ::prost::alloc::string::String,
357 #[prost(double, tag = "5")]
359 pub amount: f64,
360 #[prost(string, tag = "6")]
362 pub show_amount: ::prost::alloc::string::String,
363 #[prost(enumeration = "SeasonCouponStatus", tag = "7")]
365 pub status: i32,
366 #[prost(enumeration = "SeasonCouponType", tag = "8")]
368 pub coupon_type: i32,
369 #[prost(string, tag = "9")]
371 pub short_title: ::prost::alloc::string::String,
372 #[prost(string, tag = "10")]
374 pub expire_minute: ::prost::alloc::string::String,
375 #[prost(string, tag = "11")]
377 pub use_scope: ::prost::alloc::string::String,
378 #[prost(string, tag = "12")]
380 pub discount_amount: ::prost::alloc::string::String,
381 #[prost(int64, tag = "13")]
383 pub receive_expire_time: i64,
384 #[prost(int64, tag = "14")]
386 pub use_expire_time: i64,
387 #[prost(string, tag = "15")]
389 pub scene_mark: ::prost::alloc::string::String,
390 #[prost(string, tag = "16")]
392 pub scene_background_img: ::prost::alloc::string::String,
393 #[prost(string, tag = "17")]
395 pub scene_benefit_img: ::prost::alloc::string::String,
396 #[prost(bool, tag = "18")]
398 pub scene_countdown: bool,
399}
400#[derive(Clone, PartialEq, ::prost::Message)]
402pub struct SeasonCustom {
403 #[prost(message, optional, tag = "1")]
405 pub water_mark: ::core::option::Option<WaterMark>,
406 #[prost(message, optional, tag = "2")]
408 pub danmaku_control: ::core::option::Option<DanmakuControl>,
409}
410#[derive(Clone, PartialEq, ::prost::Message)]
412pub struct SeasonOverview {
413 #[prost(int64, tag = "1")]
415 pub season_id: i64,
416 #[prost(bool, tag = "2")]
418 pub support_cash: bool,
419 #[prost(enumeration = "SeasonStatus", tag = "3")]
421 pub status: i32,
422 #[prost(enumeration = "SeasonType", tag = "4")]
424 pub r#type: i32,
425 #[prost(string, tag = "5")]
427 pub cover: ::prost::alloc::string::String,
428 #[prost(string, tag = "6")]
430 pub title: ::prost::alloc::string::String,
431}
432#[derive(Clone, PartialEq, ::prost::Message)]
434pub struct SeasonPayment {
435 #[prost(string, tag = "1")]
437 pub price_unit: ::prost::alloc::string::String,
438 #[prost(string, tag = "2")]
440 pub discount_price: ::prost::alloc::string::String,
441 #[prost(string, tag = "3")]
443 pub discount_price_desc: ::prost::alloc::string::String,
444 #[prost(string, tag = "4")]
446 pub original_price: ::prost::alloc::string::String,
447 #[prost(string, tag = "5")]
449 pub original_price_desc: ::prost::alloc::string::String,
450}
451#[derive(Clone, PartialEq, ::prost::Message)]
453pub struct SeasonSection {
454 #[prost(int64, tag = "1")]
456 pub section_id: i64,
457 #[prost(string, tag = "2")]
459 pub title: ::prost::alloc::string::String,
460 #[prost(enumeration = "SeasonSectionType", tag = "3")]
462 pub r#type: i32,
463 #[prost(message, repeated, tag = "4")]
465 pub coursewares: ::prost::alloc::vec::Vec<Courseware>,
466 #[prost(message, repeated, tag = "5")]
468 pub episodes: ::prost::alloc::vec::Vec<Episode>,
469}
470#[derive(Clone, Copy, PartialEq, ::prost::Message)]
472pub struct SeasonStat {
473 #[prost(int64, tag = "1")]
475 pub fav: i64,
476 #[prost(int64, tag = "2")]
478 pub share: i64,
479}
480#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct SectionInfo {
483 #[prost(message, repeated, tag = "1")]
485 pub sections: ::prost::alloc::vec::Vec<SeasonSection>,
486}
487#[derive(Clone, PartialEq, ::prost::Message)]
489pub struct VideoEpisode {
490 #[prost(message, repeated, tag = "1")]
492 pub coursewares: ::prost::alloc::vec::Vec<Courseware>,
493 #[prost(int64, tag = "2")]
495 pub index: i64,
496 #[prost(enumeration = "EpisodeStatus", tag = "3")]
498 pub status: i32,
499 #[prost(int64, tag = "4")]
501 pub aid: i64,
502 #[prost(int64, tag = "5")]
504 pub cid: i64,
505 #[prost(string, tag = "6")]
507 pub title: ::prost::alloc::string::String,
508 #[prost(string, tag = "7")]
510 pub play_way_subtitle: ::prost::alloc::string::String,
511 #[prost(string, tag = "8")]
513 pub subtitle: ::prost::alloc::string::String,
514 #[prost(int64, tag = "9")]
516 pub duration: i64,
517 #[prost(bool, tag = "10")]
519 pub can_switch: bool,
520 #[prost(bool, tag = "11")]
522 pub can_play: bool,
523 #[prost(bool, tag = "12")]
525 pub show_lock_icon: bool,
526 #[prost(message, optional, tag = "13")]
528 pub episode_label: ::core::option::Option<EpisodeLabel>,
529 #[prost(message, optional, tag = "14")]
531 pub selection_label: ::core::option::Option<EpisodeSelectionLabel>,
532 #[prost(message, optional, tag = "15")]
534 pub history: ::core::option::Option<EpisodeHistory>,
535 #[prost(enumeration = "VideoPlayWay", tag = "16")]
537 pub play_way: i32,
538 #[prost(int64, tag = "17")]
540 pub episode_id: i64,
541 #[prost(string, tag = "18")]
543 pub share_link: ::prost::alloc::string::String,
544 #[prost(message, optional, tag = "19")]
546 pub dimension: ::core::option::Option<EpisodeDimension>,
547}
548#[derive(Clone, PartialEq, ::prost::Message)]
550pub struct ViewPugvAny {
551 #[prost(message, optional, tag = "1")]
553 pub season_overview: ::core::option::Option<SeasonOverview>,
554 #[prost(message, optional, tag = "2")]
556 pub season_payment: ::core::option::Option<SeasonPayment>,
557 #[prost(message, optional, tag = "3")]
559 pub season_coupon: ::core::option::Option<SeasonCoupon>,
560 #[prost(message, optional, tag = "4")]
562 pub catalogue_info: ::core::option::Option<CatalogueInfo>,
563 #[prost(message, optional, tag = "5")]
565 pub season_custom: ::core::option::Option<SeasonCustom>,
566 #[prost(message, optional, tag = "6")]
568 pub courseware_info: ::core::option::Option<CoursewareInfo>,
569 #[prost(message, optional, tag = "7")]
571 pub course_coach: ::core::option::Option<CourseCoach>,
572 #[prost(message, optional, tag = "8")]
574 pub section_info: ::core::option::Option<SectionInfo>,
575 #[prost(message, optional, tag = "9")]
577 pub ab_test: ::core::option::Option<AbTest>,
578 #[prost(message, optional, tag = "10")]
580 pub operation_area: ::core::option::Option<OperationArea>,
581 #[prost(message, optional, tag = "11")]
583 pub season_stat: ::core::option::Option<SeasonStat>,
584 #[prost(message, optional, tag = "12")]
586 pub post_purchase_info: ::core::option::Option<PostPurchaseInfo>,
587 #[prost(message, optional, tag = "13")]
589 pub gift_info: ::core::option::Option<GiftInfo>,
590 #[prost(message, optional, tag = "14")]
592 pub netdisk_courseware_info: ::core::option::Option<NetdiskCoursewareInfo>,
593 #[prost(message, optional, tag = "15")]
595 pub credential_info: ::core::option::Option<CredentialInfo>,
596 #[prost(message, optional, tag = "16")]
598 pub fragment_video_message: ::core::option::Option<FragmentVideoMessage>,
599}
600#[derive(Clone, Copy, PartialEq, ::prost::Message)]
602pub struct WaterMark {
603 #[prost(bool, tag = "1")]
605 pub show_watermark: bool,
606 #[prost(int64, tag = "2")]
608 pub watermark_interval: i64,
609}
610#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
612#[repr(i32)]
613pub enum EpisodeStatus {
614 Unspecified = 0,
616 TryWatchWhole = 1,
618 NotTryWatch = 2,
620 TryWatch5Minutes = 3,
622}
623impl EpisodeStatus {
624 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
649#[repr(i32)]
650pub enum EpisodeType {
651 Unspecified = 0,
653 Video = 1,
655 Live = 2,
657}
658impl EpisodeType {
659 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
682#[repr(i32)]
683pub enum LiveStatus {
684 Unspecified = 0,
686 Prepare = 1,
688 Live = 2,
690 PlaybackGenerating = 3,
692}
693impl LiveStatus {
694 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
719#[repr(i32)]
720pub enum OperationAreaButtonType {
721 Unspecified = 0,
723 Favorite = 1,
725 Consult = 2,
727 Share = 3,
729 Purchase = 4,
731}
732impl OperationAreaButtonType {
733 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
760#[repr(i32)]
761pub enum SeasonCouponStatus {
762 Unspecified = 0,
764 Received = 1,
766 NotReceived = 2,
768 Invalid = 3,
770}
771impl SeasonCouponStatus {
772 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
797#[repr(i32)]
798pub enum SeasonCouponType {
799 Unspecified = 0,
801 Discount = 1,
803 Decrease = 2,
805}
806impl SeasonCouponType {
807 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
830#[repr(i32)]
831pub enum SeasonSectionType {
832 Unspecified = 0,
834 Default = 1,
836 Custom = 2,
838}
839impl SeasonSectionType {
840 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
863#[repr(i32)]
864pub enum SeasonStatus {
865 Unspecified = 0,
867 Offline = 1,
869}
870impl SeasonStatus {
871 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
892#[repr(i32)]
893pub enum SeasonType {
894 Unspecified = 0,
896 Installment = 1,
898 Free = 2,
900 Subscription = 3,
902}
903impl SeasonType {
904 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 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#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
929#[repr(i32)]
930pub enum VideoPlayWay {
931 Unspecified = 0,
933 Vod = 1,
935 LivePlayback = 2,
937}
938impl VideoPlayWay {
939 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 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}