Compare commits

...

2 Commits

Author SHA1 Message Date
f1c540537a
Merge branch 'feature/mastodon_api' into live
All checks were successful
continuous-integration/drone/push Build is passing
2025-05-17 18:22:38 +04:00
1dcdc2b032
Allow syncing a single Mastodon profile
All checks were successful
continuous-integration/drone/push Build is passing
2025-05-17 18:22:11 +04:00

View File

@ -1,8 +1,9 @@
module MastodonManager
class SyncAccountProfiles < MastodonManagerService
def initialize(direction: "down", overwrite: false)
def initialize(direction: "down", overwrite: false, user: nil)
@direction = direction
@overwrite = overwrite
@user = user
if @direction != "down"
raise NotImplementedError
@ -10,9 +11,15 @@ module MastodonManager
end
def call
Rails.logger.debug { "Syncing account profiles (direction: #{@direction}, overwrite: #{@overwrite})"}
if @user
Rails.logger.debug { "Syncing account profile for user #{@user.cn} (direction: #{@direction}, overwrite: #{@overwrite})"}
users = User.where(cn: @user.cn)
else
Rails.logger.debug { "Syncing account profiles (direction: #{@direction}, overwrite: #{@overwrite})"}
users = User
end
User.find_each do |user|
users.find_each do |user|
if user.mastodon_id.blank?
mastodon_user = MastodonManager::FindUser.call username: user.cn
if mastodon_user