# frozen_string_literal: true class UnsubscribeService < BaseService def call(account) subscription = account.subscription(api_subscription_url(account.id)) response = subscription.unsubscribe unless response.successful? Rails.logger.debug "PuSH unsubscribe for #{account.acct} failed: #{response.message}" end account.secret = '' account.subscription_expires_at = nil account.save! rescue HTTP::Error, OpenSSL::SSL::SSLError Rails.logger.debug "PuSH subscription request for #{account.acct} could not be made due to HTTP or SSL error" end end