#66 検索時のフォロー中アカウント一覧作成処理を改善
This commit is contained in:
parent
583f5fe906
commit
22d1f52597
7 changed files with 90 additions and 5 deletions
|
@ -13,6 +13,7 @@
|
|||
# updated_at :datetime not null
|
||||
# last_status_at :datetime
|
||||
# group_activitypub_count :integer
|
||||
# searchable_by_follower :boolean default(FALSE), not null
|
||||
#
|
||||
|
||||
class AccountStat < ApplicationRecord
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
# hidden_anonymous :boolean default(FALSE), not null
|
||||
# detect_invalid_subscription :boolean default(FALSE), not null
|
||||
# reject_reply_exclude_followers :boolean default(FALSE), not null
|
||||
# reject_friend :boolean default(FALSE), not null
|
||||
#
|
||||
|
||||
class DomainBlock < ApplicationRecord
|
||||
|
|
|
@ -157,6 +157,9 @@ class Status < ApplicationRecord
|
|||
after_create_commit :store_uri, if: :local?
|
||||
after_create_commit :update_statistics, if: :local?
|
||||
|
||||
after_create_commit :set_searchable_follow_on_create
|
||||
after_destroy_commit :set_searchable_follow_on_destroy
|
||||
|
||||
before_validation :prepare_contents, if: :local?
|
||||
before_validation :set_reblog
|
||||
before_validation :set_visibility
|
||||
|
@ -670,6 +673,21 @@ class Status < ApplicationRecord
|
|||
ActivityTracker.increment('activity:statuses:local')
|
||||
end
|
||||
|
||||
def set_searchable_follow_on_create
|
||||
return unless public_searchability? || public_unlisted_searchability? || private_searchability?
|
||||
return if account.account_stat.nil? || account.account_stat.searchable_by_follower
|
||||
|
||||
account.account_stat.update(searchable_by_follower: true)
|
||||
end
|
||||
|
||||
def set_searchable_follow_on_destroy
|
||||
return unless public_searchability? || public_unlisted_searchability? || private_searchability?
|
||||
return if account.account_stat.nil? || !account.account_stat.searchable_by_follower
|
||||
return if account.statuses.exists?(searchability: %i(public public_unlisted unlisted private))
|
||||
|
||||
account.account_stat.update(searchable_by_follower: false)
|
||||
end
|
||||
|
||||
def increment_counter_caches
|
||||
return if direct_visibility?
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue