Fix antenna sql
This commit is contained in:
parent
239687820b
commit
50118163f7
1 changed files with 9 additions and 4 deletions
|
@ -122,12 +122,17 @@ class FanOutOnWriteService < BaseService
|
||||||
domain = @account.domain || Rails.configuration.x.local_domain
|
domain = @account.domain || Rails.configuration.x.local_domain
|
||||||
|
|
||||||
antennas = Antenna.availables
|
antennas = Antenna.availables
|
||||||
antennas = antennas.left_joins(:antenna_accounts).where(any_accounts: true).or(Antenna.availables.left_joins(:antenna_accounts) .where(antenna_accounts: { exclude: false, account: @account }))
|
antennas = antennas.left_joins(:antenna_domains).where(any_domains: true).or(Antenna.left_joins(:antenna_domains).where(antenna_domains: { name: domain }))
|
||||||
antennas = antennas.left_joins(:antenna_domains) .where(any_domains: true) .or(Antenna.availables.left_joins(:antenna_accounts).left_joins(:antenna_domains) .where(antenna_domains: { exclude: false, name: domain }))
|
|
||||||
antennas = antennas.left_joins(:antenna_tags) .where(any_tags: true) .or(Antenna.availables.left_joins(:antenna_accounts).left_joins(:antenna_domains).left_joins(:antenna_tags).where(antenna_tags: { exclude: false, tag: @status.tags }))
|
|
||||||
antennas = antennas.where(account: @account.followers) if @status.visibility.to_sym == :unlisted
|
|
||||||
antennas = antennas.where(with_media_only: false) if !@status.with_media?
|
antennas = antennas.where(with_media_only: false) if !@status.with_media?
|
||||||
antennas = antennas.where.not(account: @account.blocking)
|
antennas = antennas.where.not(account: @account.blocking)
|
||||||
|
|
||||||
|
antennas = Antenna.where(id: antennas.select(:id))
|
||||||
|
antennas = antennas.left_joins(:antenna_accounts).where(any_accounts: true).or(Antenna.left_joins(:antenna_accounts).where(antenna_accounts: { account: @account }))
|
||||||
|
|
||||||
|
tag_ids = @status.tags.pluck(:id)
|
||||||
|
antennas = Antenna.where(id: antennas.select(:id))
|
||||||
|
antennas = antennas.left_joins(:antenna_tags).where(any_tags: true).or(Antenna.left_joins(:antenna_tags).where(antenna_tags: { tag_id: tag_ids }))
|
||||||
|
|
||||||
antennas.in_batches do |ans|
|
antennas.in_batches do |ans|
|
||||||
ans.each do |antenna|
|
ans.each do |antenna|
|
||||||
next if !antenna.enabled?
|
next if !antenna.enabled?
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue