Revert "PERF: Reduce size of search payload by removing unused topic attributes."
This reverts commit 84de643c04
.
Users are using the search endpoint as public API even though it is
meant to be internal. Revert for now while we figure out the path
forward on providing a more stable API to end users.
This commit is contained in:
parent
88dcdf776b
commit
10a6824e5f
|
@ -5,20 +5,11 @@ class SearchTopicListItemSerializer < ListableTopicSerializer
|
||||||
|
|
||||||
attributes :category_id
|
attributes :category_id
|
||||||
|
|
||||||
%i{
|
def include_image_url?
|
||||||
image_url
|
false
|
||||||
thumbnails
|
end
|
||||||
title
|
|
||||||
created_at
|
def include_thumbnails?
|
||||||
last_posted_at
|
false
|
||||||
bumped_at
|
|
||||||
bumped
|
|
||||||
highest_post_number
|
|
||||||
reply_count
|
|
||||||
unseen
|
|
||||||
}.each do |attr|
|
|
||||||
define_method("include_#{attr}?") do
|
|
||||||
false
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe SearchTopicListItemSerializer do
|
|
||||||
fab!(:admin) { Fabricate(:admin) }
|
|
||||||
fab!(:post) { Fabricate(:post) }
|
|
||||||
let(:topic) { post.topic }
|
|
||||||
|
|
||||||
let(:serializer) do
|
|
||||||
SearchTopicListItemSerializer.new(topic, scope: Guardian.new(admin), root: false)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'should only include the required keys' do
|
|
||||||
current_keys = serializer.as_json.keys
|
|
||||||
|
|
||||||
expected_keys = [
|
|
||||||
:id,
|
|
||||||
:fancy_title,
|
|
||||||
:slug,
|
|
||||||
:posts_count,
|
|
||||||
:archetype,
|
|
||||||
:pinned,
|
|
||||||
:unpinned,
|
|
||||||
:visible,
|
|
||||||
:closed,
|
|
||||||
:archived,
|
|
||||||
:bookmarked,
|
|
||||||
:liked,
|
|
||||||
:category_id
|
|
||||||
]
|
|
||||||
|
|
||||||
extra_keys = current_keys - expected_keys
|
|
||||||
missing_keys = expected_keys - current_keys
|
|
||||||
|
|
||||||
expect(extra_keys).to eq([]), lambda {
|
|
||||||
"Please verify if the following keys are required as part of the serializer's payload: #{extra_keys.join(", ")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
expect(missing_keys).to eq([])
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Reference in New Issue