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:
Guo Xiang Tan 2020-07-23 09:25:31 +08:00
parent 88dcdf776b
commit 10a6824e5f
No known key found for this signature in database
GPG Key ID: FBD110179AAC1F20
2 changed files with 6 additions and 57 deletions

View File

@ -5,20 +5,11 @@ class SearchTopicListItemSerializer < ListableTopicSerializer
attributes :category_id
%i{
image_url
thumbnails
title
created_at
last_posted_at
bumped_at
bumped
highest_post_number
reply_count
unseen
}.each do |attr|
define_method("include_#{attr}?") do
false
end
def include_image_url?
false
end
def include_thumbnails?
false
end
end

View File

@ -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