Aggiunge modulo Replay, Garage dev e YouTube a livello società.

Pipeline registrazione/upload con storage S3, archivio web e app, proxy replay
per il browser, OAuth YouTube sulla pagina club (Premium Full) e footer legale.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-03 07:53:11 +02:00
parent a87cda156b
commit 1f273f849d
87 changed files with 2952 additions and 195 deletions

View File

@@ -96,5 +96,49 @@ module MatchLiveTv
def password_reset_expiry_hours
ENV.fetch("PASSWORD_RESET_EXPIRY_HOURS", "2").to_i
end
def replay_storage_configured?
replay_storage_endpoint.present? || replay_storage_local?
end
def replay_storage_endpoint
ENV["REPLAY_STORAGE_ENDPOINT"].presence
end
def replay_storage_bucket
ENV.fetch("REPLAY_STORAGE_BUCKET", "matchlivetv-replays")
end
def replay_storage_region
ENV.fetch("REPLAY_STORAGE_REGION", "garage")
end
def replay_storage_access_key_id
ENV["REPLAY_STORAGE_ACCESS_KEY_ID"].presence
end
def replay_storage_secret_access_key
ENV["REPLAY_STORAGE_SECRET_ACCESS_KEY"].presence
end
def replay_storage_force_path_style?
ENV.fetch("REPLAY_STORAGE_FORCE_PATH_STYLE", "true") == "true"
end
def replay_storage_local?
replay_storage_endpoint.blank?
end
def recordings_local_path
ENV.fetch("RECORDINGS_PATH", "/recordings")
end
def replay_presigned_url_ttl_seconds
ENV.fetch("REPLAY_PRESIGNED_URL_TTL_SECONDS", "7200").to_i
end
def replay_download_url_ttl_seconds
ENV.fetch("REPLAY_DOWNLOAD_URL_TTL_SECONDS", "900").to_i
end
end
end