Integrazione YouTube Live: OAuth squadra, canale piattaforma Light e UI.

Collegamento da Dettagli squadra e admin per il refresh token Match Live TV; API e app mobile allineate ai piani Light/Full.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-02 19:36:56 +02:00
parent 1a84d6ae42
commit 994c1e3c09
28 changed files with 557 additions and 28 deletions

View File

@@ -5,6 +5,9 @@ class Team {
required this.sport,
this.logoUrl,
this.youtubeConnected = false,
this.youtubeSelectable = false,
this.youtubeChannelTitle,
this.youtubeUsesPlatformChannel = false,
this.planSlug = 'free',
this.planName = 'Free',
this.premiumActive = false,
@@ -36,6 +39,9 @@ class Team {
final bool canStream;
final String? logoUrl;
final bool youtubeConnected;
final bool youtubeSelectable;
final String? youtubeChannelTitle;
final bool youtubeUsesPlatformChannel;
final String planSlug;
final String planName;
final bool premiumActive;
@@ -55,7 +61,9 @@ class Team {
final bool youtubeEnabled;
final String? youtubeMode;
bool get canUseYoutube => premiumFull && youtubeEnabled;
bool get canUseYoutube => youtubeEnabled && (premiumFull || youtubeMode == 'matchlivetv_light');
bool get isYoutubeReady => youtubeSelectable;
bool get canUseRecordings => recordingsEnabled;
bool get canDownloadOnPhone => phoneDownloadEnabled;
@@ -76,6 +84,9 @@ class Team {
canStream: json['can_stream'] as bool? ?? true,
logoUrl: json['logo_url'] as String?,
youtubeConnected: json['youtube_connected'] as bool? ?? false,
youtubeSelectable: json['youtube_selectable'] as bool? ?? false,
youtubeChannelTitle: json['youtube_channel_title'] as String?,
youtubeUsesPlatformChannel: json['youtube_uses_platform_channel'] as bool? ?? false,
planSlug: json['plan_slug'] as String? ?? 'free',
planName: json['plan_name'] as String? ?? 'Free',
premiumActive: json['premium_active'] as bool? ?? false,