Files
plays-hub/app/controllers/application_controller.rb
2026-01-11 15:23:27 +01:00

22 lines
889 B
Ruby

class ApplicationController < ActionController::Base
# Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has.
allow_browser versions: :modern
before_action :check_spotify_login
private
def check_spotify_login
return unless user_signed_in?
spotify_login = current_user.logins.where(platform: "spotify").order(created_at: :desc).first
if spotify_login.nil? || spotify_login.dead_since.present?
unless request.path == spotify_connect_path || request.path == spotify_path || request.path == spotify_callback_path || devise_controller?
if spotify_login&.dead_since.present?
flash[:alert] = "Your Spotify login expired and became invalid on #{spotify_login.dead_since.strftime('%Y-%m-%d %H:%M:%S')}. Please reconnect."
end
redirect_to spotify_path
end
end
end
end