From d89bff03c928db8a1138366359f38b56a9878a46 Mon Sep 17 00:00:00 2001 From: YoheiZuho Date: Sun, 31 Dec 2023 06:23:17 +0000 Subject: [PATCH] fix quote 500 error --- app/controllers/api/v1/accounts/statuses_controller.rb | 5 +++-- app/controllers/api/v1/bookmarks_controller.rb | 3 ++- app/controllers/api/v1/favourites_controller.rb | 3 ++- app/controllers/api/v1/statuses_controller.rb | 3 ++- app/controllers/api/v1/timelines/home_controller.rb | 4 +++- app/controllers/api/v1/timelines/list_controller.rb | 3 ++- app/controllers/api/v1/timelines/public_controller.rb | 3 ++- app/controllers/api/v1/timelines/tag_controller.rb | 3 ++- 8 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app/controllers/api/v1/accounts/statuses_controller.rb b/app/controllers/api/v1/accounts/statuses_controller.rb index 79c06a9ba..257506724 100644 --- a/app/controllers/api/v1/accounts/statuses_controller.rb +++ b/app/controllers/api/v1/accounts/statuses_controller.rb @@ -9,10 +9,11 @@ class Api::V1::Accounts::StatusesController < Api::BaseController def index cache_if_unauthenticated! @statuses = load_statuses - account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq + account?ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq + accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), - account_relationships: AccountRelationshipsPresenter.new(account_ids, current_user&.account_id) + account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end private diff --git a/app/controllers/api/v1/bookmarks_controller.rb b/app/controllers/api/v1/bookmarks_controller.rb index f320ca1c9..2d3c0a561 100644 --- a/app/controllers/api/v1/bookmarks_controller.rb +++ b/app/controllers/api/v1/bookmarks_controller.rb @@ -8,9 +8,10 @@ class Api::V1::BookmarksController < Api::BaseController def index @statuses = load_statuses account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq + accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), - account_relationships: AccountRelationshipsPresenter.new(account_ids, current_user&.account_id) + account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end private diff --git a/app/controllers/api/v1/favourites_controller.rb b/app/controllers/api/v1/favourites_controller.rb index 026e7cdf8..4c34445eb 100644 --- a/app/controllers/api/v1/favourites_controller.rb +++ b/app/controllers/api/v1/favourites_controller.rb @@ -8,9 +8,10 @@ class Api::V1::FavouritesController < Api::BaseController def index @statuses = load_statuses account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq + accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), - account_relationships: AccountRelationshipsPresenter.new(account_ids, current_user&.account_id) + account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end private diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index 2fefc4ad1..bc7d7076b 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -50,10 +50,11 @@ class Api::V1::StatusesController < Api::BaseController @context = Context.new(ancestors: loaded_ancestors, descendants: loaded_descendants) statuses = [@status] + @context.ancestors + @context.descendants account_ids = statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq + accounts = Account.where(id: account_ids) render json: @context, serializer: REST::ContextSerializer, relationships: StatusRelationshipsPresenter.new(statuses, current_user&.account_id), - account_relationships: AccountRelationshipsPresenter.new(account_ids, current_user&.account_id) + account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end def create diff --git a/app/controllers/api/v1/timelines/home_controller.rb b/app/controllers/api/v1/timelines/home_controller.rb index 9d8616881..199d04e16 100644 --- a/app/controllers/api/v1/timelines/home_controller.rb +++ b/app/controllers/api/v1/timelines/home_controller.rb @@ -11,7 +11,9 @@ class Api::V1::Timelines::HomeController < Api::V1::Timelines::BaseController @statuses = load_statuses @relationships = StatusRelationshipsPresenter.new(@statuses, current_user&.account_id) account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq - @account_relationships = AccountRelationshipsPresenter.new(account_ids, current_user&.account_id) + accounts = Account.where(id: account_ids) + + @account_relationships = AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end render json: @statuses, diff --git a/app/controllers/api/v1/timelines/list_controller.rb b/app/controllers/api/v1/timelines/list_controller.rb index 4457ae71d..7e42e6490 100644 --- a/app/controllers/api/v1/timelines/list_controller.rb +++ b/app/controllers/api/v1/timelines/list_controller.rb @@ -10,11 +10,12 @@ class Api::V1::Timelines::ListController < Api::V1::Timelines::BaseController def show account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq + accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user.account_id), - account_relationships: AccountRelationshipsPresenter.new(account_ids, current_user&.account_id) + account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end private diff --git a/app/controllers/api/v1/timelines/public_controller.rb b/app/controllers/api/v1/timelines/public_controller.rb index db9da8a68..a37b56110 100644 --- a/app/controllers/api/v1/timelines/public_controller.rb +++ b/app/controllers/api/v1/timelines/public_controller.rb @@ -9,10 +9,11 @@ class Api::V1::Timelines::PublicController < Api::V1::Timelines::BaseController cache_if_unauthenticated! @statuses = load_statuses account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq + accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), - account_relationships: AccountRelationshipsPresenter.new(account_ids, current_user&.account_id) + account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end private diff --git a/app/controllers/api/v1/timelines/tag_controller.rb b/app/controllers/api/v1/timelines/tag_controller.rb index 9b93a1835..97e245b09 100644 --- a/app/controllers/api/v1/timelines/tag_controller.rb +++ b/app/controllers/api/v1/timelines/tag_controller.rb @@ -10,10 +10,11 @@ class Api::V1::Timelines::TagController < Api::V1::Timelines::BaseController cache_if_unauthenticated! @statuses = load_statuses account_ids = @statuses.filter(&:quote?).map { |status| status.quote.account_id }.uniq + accounts = Account.where(id: account_ids) render json: @statuses, each_serializer: REST::StatusSerializer, relationships: StatusRelationshipsPresenter.new(@statuses, current_user&.account_id), - account_relationships: AccountRelationshipsPresenter.new(account_ids, current_user&.account_id) + account_relationships: AccountRelationshipsPresenter.new(accounts, current_user&.account_id) end private