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)
15 lines
410 B
Ruby
15 lines
410 B
Ruby
module MastodonManager
|
|
class FindUser < MastodonManagerService
|
|
def initialize(username:)
|
|
@username = username
|
|
end
|
|
|
|
def call
|
|
users = get "v2/admin/accounts?username=#{@username}&origin=local"
|
|
users = users.map { |u| u.with_indifferent_access }
|
|
# Results may contain partial matches
|
|
users.find { |u| u.dig(:username).downcase == @username.downcase }
|
|
end
|
|
end
|
|
end
|