|
|
@ -41,6 +41,7 @@ class DeleteAccountService < BaseService |
|
|
|
# @option [Boolean] :reserve_email Keep user record. Only applicable for local accounts |
|
|
|
# @option [Boolean] :reserve_email Keep user record. Only applicable for local accounts |
|
|
|
# @option [Boolean] :reserve_username Keep account record |
|
|
|
# @option [Boolean] :reserve_username Keep account record |
|
|
|
# @option [Boolean] :skip_side_effects Side effects are ActivityPub and streaming API payloads |
|
|
|
# @option [Boolean] :skip_side_effects Side effects are ActivityPub and streaming API payloads |
|
|
|
|
|
|
|
# @option [Boolean] :skip_activitypub Skip sending ActivityPub payloads. Implied by :skip_side_effects |
|
|
|
# @option [Time] :suspended_at Only applicable when :reserve_username is true |
|
|
|
# @option [Time] :suspended_at Only applicable when :reserve_username is true |
|
|
|
def call(account, **options) |
|
|
|
def call(account, **options) |
|
|
|
@account = account |
|
|
|
@account = account |
|
|
@ -52,6 +53,8 @@ class DeleteAccountService < BaseService |
|
|
|
@options[:skip_side_effects] = true |
|
|
|
@options[:skip_side_effects] = true |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@options[:skip_activitypub] = true if @options[:skip_side_effects] |
|
|
|
|
|
|
|
|
|
|
|
reject_follows! |
|
|
|
reject_follows! |
|
|
|
purge_user! |
|
|
|
purge_user! |
|
|
|
purge_profile! |
|
|
|
purge_profile! |
|
|
@ -62,7 +65,7 @@ class DeleteAccountService < BaseService |
|
|
|
private |
|
|
|
private |
|
|
|
|
|
|
|
|
|
|
|
def reject_follows! |
|
|
|
def reject_follows! |
|
|
|
return if @account.local? || !@account.activitypub? |
|
|
|
return if @account.local? || !@account.activitypub? || @options[:skip_activitypub] |
|
|
|
|
|
|
|
|
|
|
|
# When deleting a remote account, the account obviously doesn't |
|
|
|
# When deleting a remote account, the account obviously doesn't |
|
|
|
# actually become deleted on its origin server, i.e. unlike a |
|
|
|
# actually become deleted on its origin server, i.e. unlike a |
|
|
|