discourse/app/jobs/onceoff/fix_invalid_gravatar_uploads.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

26 lines
755 B
Ruby
Raw Normal View History

# frozen_string_literal: true
module Jobs
class FixInvalidGravatarUploads < ::Jobs::Onceoff
2018-07-30 15:07:03 +08:00
def execute_onceoff(args)
Upload
.where(original_filename: "gravatar.png")
.find_each do |upload|
# note, this still feels pretty expensive for a once off
# we may need to re-evaluate this
extension =
begin
FastImage.type(Discourse.store.path_for(upload))
rescue StandardError
nil
end
current_extension = upload.extension
if extension.to_s.downcase != current_extension.to_s.downcase
upload&.user&.user_avatar&.update_columns(last_gravatar_download_attempt: nil)
end
end
end
end
end