diff --git a/backend/app/controllers/admin/clubs_controller.rb b/backend/app/controllers/admin/clubs_controller.rb index 233ac57..e68a26e 100644 --- a/backend/app/controllers/admin/clubs_controller.rb +++ b/backend/app/controllers/admin/clubs_controller.rb @@ -3,7 +3,7 @@ module Admin before_action :set_club, only: %i[show grant_comped revoke_comped] def index - @clubs = Club.includes(:subscription, :teams, subscription: :plan, subscription: :admin_comped_by) + @clubs = Club.includes(:teams, subscription: %i[plan admin_comped_by]) .order(:name) end diff --git a/backend/app/services/youtube/broadcast_service.rb b/backend/app/services/youtube/broadcast_service.rb index de8d9d5..5217c41 100644 --- a/backend/app/services/youtube/broadcast_service.rb +++ b/backend/app/services/youtube/broadcast_service.rb @@ -46,7 +46,7 @@ module Youtube rtmp_url: stream_result.cdn.ingestion_info.ingestion_address } rescue Google::Apis::Error => e - raise Error, e.message + raise Error, friendly_api_error(e) end def complete_broadcast!(broadcast_id) @@ -86,5 +86,13 @@ module Youtube def authorized_client OauthRefresh.new(@credential).apply!(Google::Apis::YoutubeV3::YouTubeService.new) end + + def friendly_api_error(error) + msg = error.message.to_s + return "Il canale YouTube non ha la diretta attiva. Apri YouTube Studio con l’account del canale Match Live TV, abilita la live (verifica telefono se richiesto) e riprova." if msg.include?("liveStreamingNotEnabled") + return "Credenziali YouTube non valide. Ricollega il canale dalla sezione Admin → YouTube." if msg.match?(/Unauthorized|invalid_grant/i) + + msg + end end end