2
0

Change API behavior of reblogs wrt. quotes for consistency (#36559)

This commit is contained in:
Claire
2025-10-28 09:05:23 +01:00
committed by GitHub
parent 3bf99b8a4a
commit 4b42fe6aba
4 changed files with 28 additions and 4 deletions

View File

@@ -157,7 +157,7 @@ class Api::V1::StatusesController < Api::BaseController
end
def set_quoted_status
@quoted_status = Status.find(status_params[:quoted_status_id]) if status_params[:quoted_status_id].present?
@quoted_status = Status.find(status_params[:quoted_status_id])&.proper if status_params[:quoted_status_id].present?
authorize(@quoted_status, :quote?) if @quoted_status.present?
rescue ActiveRecord::RecordNotFound, Mastodon::NotPermittedError
# TODO: distinguish between non-existing and non-quotable posts

View File

@@ -61,6 +61,7 @@ class StatusCacheHydrator
payload[:filtered] = payload[:reblog][:filtered]
payload[:favourited] = payload[:reblog][:favourited]
payload[:reblogged] = payload[:reblog][:reblogged]
payload[:quote_approval] = payload[:reblog][:quote_approval]
end
end

View File

@@ -168,9 +168,9 @@ class REST::StatusSerializer < ActiveModel::Serializer
def quote_approval
{
automatic: object.quote_policy_as_keys(:automatic),
manual: object.quote_policy_as_keys(:manual),
current_user: object.quote_policy_for_account(current_user&.account),
automatic: object.proper.quote_policy_as_keys(:automatic),
manual: object.proper.quote_policy_as_keys(:manual),
current_user: object.proper.quote_policy_for_account(current_user&.account),
}
end