Eliminate unnecessary queries and query clauses with none and all
parent
ccb6a658fd
commit
6a1da87cd3
|
@ -161,9 +161,9 @@ class Status < ApplicationRecord
|
||||||
return where.not(visibility: [:private, :direct]) if account.nil?
|
return where.not(visibility: [:private, :direct]) if account.nil?
|
||||||
|
|
||||||
if target_account.blocking?(account) # get rid of blocked peeps
|
if target_account.blocking?(account) # get rid of blocked peeps
|
||||||
where('1 = 0')
|
none
|
||||||
elsif account.id == target_account.id # author can see own stuff
|
elsif account.id == target_account.id # author can see own stuff
|
||||||
where('1 = 1')
|
all
|
||||||
elsif account.following?(target_account) # followers can see followers-only stuff, but also things they are mentioned in
|
elsif account.following?(target_account) # followers can see followers-only stuff, but also things they are mentioned in
|
||||||
joins('LEFT OUTER JOIN mentions ON statuses.id = mentions.status_id AND mentions.account_id = ' + account.id.to_s)
|
joins('LEFT OUTER JOIN mentions ON statuses.id = mentions.status_id AND mentions.account_id = ' + account.id.to_s)
|
||||||
.where('statuses.visibility != ? OR mentions.id IS NOT NULL', Status.visibilities[:direct])
|
.where('statuses.visibility != ? OR mentions.id IS NOT NULL', Status.visibilities[:direct])
|
||||||
|
|
Reference in New Issue