diff options
author | Eugen <eugen@zeonfederated.com> | 2017-04-05 10:23:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-05 10:23:10 +0200 |
commit | aab818717e7700c35ebe5612c1eb7424fc53127f (patch) | |
tree | 29d1c54eaece5f8d5569bf5f560b6defb242e4e3 /app/models/status.rb | |
parent | ccb6a658fd1a2e596c95d5b8e7a39f72a5f5b14b (diff) | |
parent | 6a1da87cd32a077c8df2e82cbdc222c201ddda41 (diff) |
Merge pull request #914 from bradurani/bu/query_cleanup
Eliminate unnecessary queries and query clauses with none and all
Diffstat (limited to 'app/models/status.rb')
-rw-r--r-- | app/models/status.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/app/models/status.rb b/app/models/status.rb index daf128572..6948ad77c 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -161,9 +161,9 @@ class Status < ApplicationRecord return where.not(visibility: [:private, :direct]) if account.nil? 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 - where('1 = 1') + all 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) .where('statuses.visibility != ? OR mentions.id IS NOT NULL', Status.visibilities[:direct]) |