Sync Mastodon IDs/profiles to local accounts
Add a new service to import some data from Mastodon accounts: * Find users by username, store Mastodon account ID in local db when found * Import display name (don't overwrite existing) * Import avatar (don't overwrite existing)
This commit is contained in:
21
app/services/user_manager/process_avatar.rb
Normal file
21
app/services/user_manager/process_avatar.rb
Normal file
@@ -0,0 +1,21 @@
|
||||
module UserManager
|
||||
class ProcessAvatar < UserManagerService
|
||||
def initialize(io:)
|
||||
@io = io
|
||||
end
|
||||
|
||||
def call
|
||||
processed = ImageProcessing::Vips
|
||||
.source(@io)
|
||||
.resize_to_fill(400, 400)
|
||||
.saver(strip: true)
|
||||
.call
|
||||
@io.rewind
|
||||
processed.read
|
||||
rescue Vips::Error => e
|
||||
Sentry.capture_exception(e) if Setting.sentry_enabled?
|
||||
Rails.logger.warn { "Image processing failed for avatar: #{e.message}" }
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user