Completa modulo Replay: S3, retention, sync YouTube e gestione società.

Streaming chunked da Garage, purge con delete YouTube, privacy sincronizzata,
archivio club migliorato, retention 30/90 separata da stato abbonamento.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-08 09:33:59 +02:00
parent ae36d17adb
commit 74eee24293
17 changed files with 385 additions and 34 deletions

View File

@@ -178,12 +178,18 @@ module Teams
assert_can_stream_on!("youtube")
end
def can_access_recordings?
# Nuove registrazioni (MediaMTX + FinalizeSession): richiede abbonamento attivo.
def can_create_recordings?
active? && plan.recordings_enabled?
end
# Archivio esistente: visibile fino a expires_at anche se l'abbonamento è scaduto.
def can_access_recordings?
plan.recordings_enabled? || @team.recordings.not_deleted.exists?
end
def recording_enabled_for_mediamtx?
can_access_recordings?
can_create_recordings?
end
def recording_retention_days
@@ -215,6 +221,7 @@ module Teams
concurrent_streams_used: concurrent_streams_used,
concurrent_streams_limit: concurrent_streams_limit,
recordings_enabled: can_access_recordings?,
can_create_recordings: can_create_recordings?,
recording_retention_days: recording_retention_days,
phone_download_enabled: phone_download_enabled?,
youtube_enabled: youtube_enabled?,