Files
MatchLiveTv/backend/app/models/youtube_credential.rb
T
eminuxandCursor baa6283a15 Mantiene la copertina YouTube se il telefono cade e avvia ffmpeg sul nodo, non via SSH.
Il relay HLS→RTMPS resta sul worker/agent del nodo assegnato, così tre dirette contemporanee restano in onda sul sito e sul canale della società senza schermo nero.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-16 20:41:46 +02:00

37 lines
774 B
Ruby

class YoutubeCredential < ApplicationRecord
belongs_to :club
attr_encrypted :access_token,
key: :encryption_key,
attribute: "access_token_encrypted",
mode: :single_iv_and_salt,
algorithm: "aes-256-cbc",
iv: :encryption_iv
attr_encrypted :refresh_token,
key: :encryption_key,
attribute: "refresh_token_encrypted",
mode: :single_iv_and_salt,
algorithm: "aes-256-cbc",
iv: :encryption_iv
def expired?
expires_at.present? && expires_at < Time.current
end
def usable?
refresh_token.present?
rescue ArgumentError, OpenSSL::Cipher::CipherError, NoMethodError
false
end
private
def encryption_key
Rails.application.secret_key_base[0, 32]
end
def encryption_iv
encryption_key[0, 16]
end
end