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>
This commit is contained in:
@@ -4,19 +4,33 @@ class YoutubeCredential < ApplicationRecord
|
||||
attr_encrypted :access_token,
|
||||
key: :encryption_key,
|
||||
attribute: "access_token_encrypted",
|
||||
mode: :single_iv_salt
|
||||
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_salt
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user