@mediahub-bg/ott-objects 0.5.35 → 0.5.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/web/types.ts +107 -107
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediahub-bg/ott-objects",
3
- "version": "0.5.35",
3
+ "version": "0.5.39",
4
4
  "types": "web/types.d.ts",
5
5
  "files": [
6
6
  "web"
package/web/types.ts CHANGED
@@ -601,205 +601,98 @@ export interface PubPic {
601
601
  */
602
602
 
603
603
  export interface SportObjectCommon {
604
- n: number /* int */;
605
- ut: number /* int64 */;
606
604
  id: number /* int64 */;
607
605
  updatedAt: number /* int64 */;
608
606
  }
609
607
  export interface SportImage extends SportObjectCommon {
610
- object: string;
611
- objectFK: number /* int64 */;
612
- type: string;
613
- contentType: string;
614
- name: string;
615
608
  value: string;
616
609
  }
617
610
  export interface SportParticipant extends SportObjectCommon {
618
611
  name: string;
619
- gender: string;
620
- type: string;
621
- countryFK: number /* int64 */;
622
612
  countryName: string;
623
613
  }
624
614
  export interface SportStandingData extends SportObjectCommon {
625
- standingTypeParamFK: number /* int64 */;
626
- value: string;
627
- code: string;
628
- subParam?: string;
629
615
  }
630
616
  export interface SportStandingParticipant extends SportObjectCommon {
631
- standingFK: number /* int64 */;
632
- participantFK: number /* int64 */;
633
- rank: number /* int */;
634
- participant: SportParticipant;
635
- data: SportStandingData[];
636
617
  }
637
618
  export interface SportStandingEventStats extends SportObjectCommon {
638
- object: string;
639
- objectFK: number /* int64 */;
640
- standingTypeFK: number /* int64 */;
641
- name: string;
642
- participants: SportStandingParticipant[];
643
619
  }
644
620
  export interface SportEventProperty extends SportObjectCommon {
645
- type: string;
646
621
  name: string;
647
622
  value: string;
648
623
  }
649
624
  export interface SportTeamParticipant extends SportObjectCommon {
650
625
  name: string;
651
- gender: string;
652
- type: string;
653
- countryFK: number /* int64 */;
654
626
  countryName: string;
655
627
  isNationalTeam: boolean;
656
- toBeDecided: boolean;
657
- homepage: string;
658
- homeShirtColor1: string;
659
628
  customRank: number /* int */;
660
- properties?: SportEventProperty[];
661
629
  }
662
630
  export interface SportEventElapsed extends SportObjectCommon {
663
631
  elapsed: number /* int */;
664
- injuryTime: boolean;
665
- injuryTimeElapsed: number /* int */;
666
- timeType: string;
667
632
  }
668
633
  export interface SportEventVideoProvider {
669
- type: string;
670
- epg?: PubEPG;
671
- vodEPG?: PubVodEPG;
672
634
  }
673
635
  export interface SportEventParticipantResult extends SportObjectCommon {
674
- typeFK: number /* int64 */;
675
- eventParticipantFK: number /* int64 */;
676
636
  code: string;
677
637
  value: string;
678
638
  }
679
639
  export interface SportEventParticipantIncident extends SportObjectCommon {
680
640
  typeFK: number /* int64 */;
681
- incidentCode: string;
682
641
  elapsed: number /* int */;
683
642
  elapsedPlus: number /* int */;
684
- sortOrder: number /* int */;
685
- eventParticipantFK: number /* int64 */;
686
643
  eventIncidentFK: number /* int64 */;
687
- refParticipantFK: number /* int64 */;
688
644
  incidentMinute: number /* int */;
689
645
  playerName: string;
690
- reason: string;
691
- properties?: SportEventProperty[];
692
- participant: SportParticipant;
693
646
  }
694
647
  export interface SportEventParticipantLineup extends SportObjectCommon {
695
- typeFK: number /* int64 */;
696
- shirtNumber: number /* int */;
697
- position: number /* int */;
698
- eventParticipantFK: number /* int64 */;
699
- participantFK: number /* int64 */;
700
- properties?: SportEventProperty[];
701
- participant: SportParticipant;
702
648
  }
703
649
  export interface SportEventParticipant extends SportObjectCommon {
704
650
  number: number /* int */;
705
651
  participantFK: number /* int64 */;
706
- eventFK: number /* int64 */;
707
- kit: string;
708
- formation: string;
709
652
  participant: SportTeamParticipant;
710
653
  results: SportEventParticipantResult[];
711
- lineups: SportEventParticipantLineup[];
712
654
  incidents: SportEventParticipantIncident[];
713
- properties?: SportEventProperty[];
714
655
  }
715
656
  export interface SportEventIncidentDetail extends SportObjectCommon {
716
- type: string;
717
- participantFK: number /* int64 */;
718
- eventIncidentFK: number /* int64 */;
719
- value: string;
720
657
  }
721
658
  export interface SportEventIncident extends SportObjectCommon {
722
- eventFK: number /* int64 */;
723
- sportFK: number /* int64 */;
724
- incidentTypeFK: number /* int64 */;
725
- elapsed: number /* int */;
726
- elapsedPlus: number /* int */;
727
- comment: string;
728
- sortOrder: number /* int */;
729
- details: SportEventIncidentDetail[];
730
659
  }
731
660
  export interface SportEventBase extends SportObjectCommon {
732
- sportId: number /* int */;
733
661
  name: string;
734
662
  startDate: number /* int64 */;
735
663
  tournamentFK: number /* int64 */;
736
664
  tournamentStageFK: number /* int64 */;
737
665
  tournamentTemplateFK: number /* int64 */;
738
666
  statusType: string;
739
- statusDescFK: number /* int64 */;
740
- roundTypeFK: number /* int64 */;
741
- locked: boolean;
742
667
  tournamentStageName: string;
743
668
  tournamentName: string;
744
669
  tournamentTemplateName: string;
745
- sportName: string;
746
670
  venueName: string;
747
- gender: string;
748
671
  round: string;
749
- live: boolean;
750
672
  verified: boolean;
751
673
  realStart: number /* int64 */;
752
674
  realEnd: number /* int64 */;
753
675
  matchStartChunkTime?: number /* int64 */;
754
- spectators: number /* int */;
755
- commentary: string;
756
- videoProvider?: SportEventVideoProvider;
757
- properties: SportEventProperty[];
758
676
  participants: SportEventParticipant[];
759
677
  elapsed: SportEventElapsed[];
760
- incidents: SportEventIncident[];
761
678
  }
762
679
  export interface SportEventSoccer extends SportEventBase {
763
- refereeFK: number /* int64 */;
764
- assistant1RefereeFK: number /* int64 */;
765
- fourthRefereeFK: number /* int64 */;
766
- var1RefereeFK: number /* int64 */;
767
- var2RefereeFK: number /* int64 */;
768
- assistant2RefereeFK: number /* int64 */;
769
- firstHalfEnd: number /* int64 */;
770
- secondHalfStart: number /* int64 */;
771
- secondHalfEnd: number /* int64 */;
772
- lineupConfirmed: boolean;
773
680
  }
774
681
  export interface SportTournamentStage extends SportObjectCommon {
775
682
  name: string;
776
- tournamentFK: number /* int64 */;
777
- gender: string;
778
- countryFK: number /* int64 */;
779
- countryName: string;
780
683
  startDate: number /* int64 */;
781
684
  endDate: number /* int64 */;
782
685
  properties?: SportEventProperty[];
783
686
  }
784
687
  export interface SportTournamentStageParticipant extends SportObjectCommon {
785
- tournamentStageFK: number /* int64 */;
786
- dateFrom: string;
787
- dateTo: string;
788
- active: boolean;
789
688
  participant: SportParticipant;
790
689
  }
791
690
  export interface SportTournamentTemplate extends SportObjectCommon {
792
- name: string;
793
- sportFK: number /* int64 */;
794
- gender: string;
795
691
  }
796
692
  export interface SportTournament extends SportObjectCommon {
797
- name: string;
798
- tournamentTemplateFK: number /* int64 */;
799
693
  }
800
694
  export interface SportEventSoccerResult {
801
695
  event: SportEventSoccer;
802
- standing?: SportStandingEventStats;
803
696
  }
804
697
  export interface SportSoccerTeamRank {
805
698
  id: number /* int64 */;
@@ -992,3 +885,110 @@ export interface BanEntry {
992
885
  banTime: number /* int64 */;
993
886
  expire: number /* int64 */;
994
887
  }
888
+
889
+ //////////
890
+ // source: usersettings_pub.go
891
+ /*
892
+ Copyright (C) MediaHub Ltd - All Rights Reserved
893
+ * Unauthorized copying of this file, via any medium is strictly prohibited
894
+ * Proprietary and confidential
895
+ * Written by Peter Gerasimov <gerasimov@mediahub.eu>, June 2026
896
+ */
897
+
898
+ export interface DeviceSettingsChannel {
899
+ id: string;
900
+ audio: string; // language code | "und" default
901
+ audioIsChangedByUser: boolean; // user set audio explicitly
902
+ subtitles: string; // language code | "und" default | "zxx" off
903
+ areSubtitlesChangedByUser: boolean; // user set subtitles explicitly
904
+ resolution: string; // "auto" | "WIDTHxHEIGHT"
905
+ resolutionIsChangedByUser: boolean; // user set resolution explicitly
906
+ }
907
+ export interface DeviceChannelSettings {
908
+ visible?: boolean;
909
+ locked?: boolean; // requires PIN
910
+ timeshift?: boolean;
911
+ position?: number /* int */; // order in the channel list
912
+ favoritePosition?: number /* int */; // order in favorites
913
+ hasBeenReordered?: boolean; // ott-client-flutter only
914
+ }
915
+ export interface DeviceSettingsChannelItem {
916
+ channelInfo: DeviceSettingsChannel;
917
+ channelSettings: DeviceChannelSettings;
918
+ }
919
+ export interface EpgFavoriteInfo {
920
+ channelId: string;
921
+ start: number /* int64 */; // program start, unix
922
+ stop: number /* int64 */; // program stop, unix
923
+ timestamp: number /* int64 */; // when the favorite was saved, unix
924
+ }
925
+ export interface DeviceSettings {
926
+ password?: string; // parental PIN
927
+ languageCode?: string; // UI language
928
+ channelPreffs?: { [key: string]: DeviceChannelSettings}; // per-channel state, keyed by channel id
929
+ favoriteAssets?: EpgFavoriteInfo[]; // saved EPG favorites
930
+ unlock_channel_period?: number /* int64 */; // re-lock timeout
931
+ is_clock_always_on?: boolean;
932
+ DeviceSettingsItemList?: DeviceSettingsChannelItem[];
933
+ }
934
+ export interface MobileSettings {
935
+ is_clock_always_on?: boolean;
936
+ languageCode?: string; // UI language
937
+ password?: string; // parental PIN
938
+ unlock_channel_period?: number /* int */; // re-lock timeout
939
+ resolution?: string; // "auto" | "WIDTHxHEIGHT"
940
+ DeviceSettingsItemList?: DeviceSettingsChannelItem[];
941
+ favoriteAssets?: EpgFavoriteInfo[]; // saved EPG favorites
942
+ isWelcomeScreenShownOnMobile?: boolean;
943
+ isOldClient?: boolean;
944
+ }
945
+ export interface ReactChannelSetting {
946
+ favoritePosition: number /* int */; // 0 = not a favorite
947
+ favorite?: boolean;
948
+ visible?: boolean;
949
+ audio?: string; // null = inherit global
950
+ resolution?: string; // null = inherit global
951
+ subtitles?: string; // null = inherit global
952
+ position?: number /* int */; // manual order; null = original
953
+ locked?: boolean; // requires PIN
954
+ }
955
+ export interface ReactTVSettings {
956
+ resolution: string; // "auto" | "WIDTHxHEIGHT"
957
+ subtitles: string; // code | "und" default | "zxx" off
958
+ audio: string; // code | "und" default
959
+ channels: { [key: string]: ReactChannelSetting}; // per-channel overrides, keyed by channel id
960
+ lockPeriod: number /* int64 */; // parental-lock period in ms; -1 = always, -2 = session
961
+ clockPosition: string; // "in-menu" | "always"
962
+ }
963
+ export interface WebChannelInfo {
964
+ id: string;
965
+ name?: string; // recomputed from the channel list on read
966
+ }
967
+ export interface WebChannelSettings {
968
+ favoritePosition?: number /* int */;
969
+ timeshift?: boolean;
970
+ visible?: boolean;
971
+ audio?: string; // null = inherit global
972
+ resolution?: string; // null = inherit global
973
+ subtitles?: string; // null = inherit global
974
+ position?: number /* int */;
975
+ locked?: boolean; // requires PIN
976
+ }
977
+ export interface WebDeviceSettingsItem {
978
+ channelInfo: WebChannelInfo;
979
+ channelSettings: WebChannelSettings;
980
+ }
981
+ export interface WebSettings {
982
+ filterTypeRecorded: boolean; // show recorded content
983
+ filterTypeLive: boolean; // show live content
984
+ isVerticalLayout: boolean;
985
+ resolution: string; // "auto" | "WIDTHxHEIGHT"
986
+ subtitles: string; // code | "und" default | "zxx" off
987
+ audio: string; // code | "und" default
988
+ DeviceSettingsItemList: WebDeviceSettingsItem[];
989
+ lockPeriod: number /* int64 */; // parental-lock period in ms; -1 = always, -2 = session
990
+ }
991
+ export interface ProfileSettings {
992
+ react_tv_settings?: ReactTVSettings; // react-tv-app (ClearReact)
993
+ web_settings?: WebSettings; // mediahub-web-portal (ClearWeb)
994
+ }