diff options
author | abcang <abcang1015@gmail.com> | 2021-04-25 13:34:48 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-25 06:34:48 +0200 |
commit | 1f4751102364a3225233ad7d97a68e165c30ba64 (patch) | |
tree | b94ecf142f1bd6cb7bb74c1116a262003e15db42 /app | |
parent | 7f0c49c58ab75bbd6b4dc44d47a8c4ab57db9d51 (diff) |
Improve media attached status query (#16105)
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/accounts_controller.rb | 6 | ||||
-rw-r--r-- | app/controllers/admin/statuses_controller.rb | 3 | ||||
-rw-r--r-- | app/controllers/api/v1/accounts/statuses_controller.rb | 2 |
3 files changed, 3 insertions, 8 deletions
diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 7753ebccc..f15961552 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -77,11 +77,7 @@ class AccountsController < ApplicationController end def only_media_scope - Status.where(id: account_media_status_ids) - end - - def account_media_status_ids - @account.media_attachments.attached.reorder(nil).select(:status_id).group(:status_id) + Status.joins(:media_attachments).group(:id) end def no_replies_scope diff --git a/app/controllers/admin/statuses_controller.rb b/app/controllers/admin/statuses_controller.rb index d7c192f0d..df1bd1bc7 100644 --- a/app/controllers/admin/statuses_controller.rb +++ b/app/controllers/admin/statuses_controller.rb @@ -14,8 +14,7 @@ module Admin @statuses = @account.statuses.where(visibility: [:public, :unlisted]) if params[:media] - account_media_status_ids = @account.media_attachments.attached.reorder(nil).select(:status_id).group(:status_id) - @statuses.merge!(Status.where(id: account_media_status_ids)) + @statuses.merge!(Status.joins(:media_attachments).group(:id)) end @statuses = @statuses.preload(:media_attachments, :mentions).page(params[:page]).per(PER_PAGE) diff --git a/app/controllers/api/v1/accounts/statuses_controller.rb b/app/controllers/api/v1/accounts/statuses_controller.rb index 92ccb8061..b1e478f8d 100644 --- a/app/controllers/api/v1/accounts/statuses_controller.rb +++ b/app/controllers/api/v1/accounts/statuses_controller.rb @@ -42,7 +42,7 @@ class Api::V1::Accounts::StatusesController < Api::BaseController end def only_media_scope - Status.joins(:media_attachments).merge(@account.media_attachments.reorder(nil)).group(:id) + Status.joins(:media_attachments).group(:id) end def pinned_scope |