Files
MatchLiveTv/backend/app/services/recordings/notify_ready.rb
Emiliano Frascaro 1f273f849d 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>
2026-06-03 07:53:11 +02:00

30 lines
726 B
Ruby

module Recordings
class NotifyReady
def initialize(recording)
@recording = recording
end
def call
return @recording if @recording.ready_notified_at.present?
return @recording unless @recording.ready?
recipients.each do |user|
Recordings::ReplayMailer.replay_ready(recording: @recording, recipient: user).deliver_now
end
@recording.update!(ready_notified_at: Time.current)
@recording
end
private
def recipients
club = @recording.team.club
owner = club.owner
users = club.users.distinct.to_a
users << owner if owner && users.none? { |u| u.id == owner.id }
users.uniq.select { |u| u.email.present? }
end
end
end