0
0
Fork 0

Add scope Status.distributable_visibility (#29950)

This commit is contained in:
Matt Jankowski 2024-04-16 09:16:54 -04:00 committed by GitHub
parent 0622107449
commit caad1e2628
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 9 additions and 8 deletions

View file

@ -16,7 +16,7 @@ class Admin::StatusFilter
end
def results
scope = @account.statuses.where(visibility: [:public, :unlisted])
scope = @account.statuses.distributable_visibility
params.each do |key, value|
next if IGNORED_PARAMS.include?(key.to_s)

View file

@ -62,7 +62,7 @@ class Announcement < ApplicationRecord
@statuses ||= if status_ids.nil?
[]
else
Status.where(id: status_ids, visibility: [:public, :unlisted])
Status.where(id: status_ids).distributable_visibility
end
end

View file

@ -12,7 +12,7 @@ module Status::ThreadingConcern
end
def self_replies(limit)
account.statuses.where(in_reply_to_id: id, visibility: [:public, :unlisted]).reorder(id: :asc).limit(limit)
account.statuses.distributable_visibility.where(in_reply_to_id: id).reorder(id: :asc).limit(limit)
end
private

View file

@ -74,6 +74,6 @@ class FeaturedTag < ApplicationRecord
end
def visible_tagged_account_statuses
account.statuses.where(visibility: %i(public unlisted)).tagged_with(tag)
account.statuses.distributable_visibility.tagged_with(tag)
end
end

View file

@ -121,6 +121,7 @@ class Status < ApplicationRecord
scope :tagged_with_none, lambda { |tag_ids|
where('NOT EXISTS (SELECT * FROM statuses_tags forbidden WHERE forbidden.status_id = statuses.id AND forbidden.tag_id IN (?))', tag_ids)
}
scope :distributable_visibility, -> { where(visibility: %i(public unlisted)) }
scope :list_eligible_visibility, -> { where(visibility: %i(public unlisted private)) }
after_create_commit :trigger_create_webhooks