From 5a790ee25af3e333299237ffe668bf601dd17040 Mon Sep 17 00:00:00 2001 From: evazion Date: Wed, 10 Mar 2021 02:37:47 -0600 Subject: [PATCH] wiki pages: remove category_name field from API. Remove the `category_name` field from the `/wiki_page.json` API. This field was originally added only because it was needed by our autocomplete Javascript. It was also misnamed, it wasn't the tag's category name, it was the category's ID. Users should use `https://danbooru.donmai.us/wiki_pages.json?only=title,tag` instead if they need this. This triggered a N+1 query pattern when dumping wiki pages to BigQuery, which made dumping wiki pages very slow. It also meant this field was included in the database dump, even though it wasn't a real database column. --- app/models/wiki_page.rb | 4 ---- app/policies/wiki_page_policy.rb | 8 -------- app/views/wiki_page_versions/diff.html.erb | 2 +- 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 20531edac..8dac41603 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -162,10 +162,6 @@ class WikiPage < ApplicationRecord name.to_s.unicode_normalize(:nfkc).normalize_whitespace.gsub(/[[:space:]]+/, "_").squeeze("_").gsub(/\A_|_\z/, "") end - def category_name - tag&.category - end - def pretty_title title.tr("_", " ") end diff --git a/app/policies/wiki_page_policy.rb b/app/policies/wiki_page_policy.rb index ca1bf5324..81b897fcc 100644 --- a/app/policies/wiki_page_policy.rb +++ b/app/policies/wiki_page_policy.rb @@ -14,12 +14,4 @@ class WikiPagePolicy < ApplicationPolicy def permitted_attributes [:title, :body, :other_names, :other_names_string, :is_deleted, (:is_locked if can_edit_locked?)].compact end - - def api_attributes - super + [:category_name] - end - - def html_data_attributes - super + [:category_name] - end end diff --git a/app/views/wiki_page_versions/diff.html.erb b/app/views/wiki_page_versions/diff.html.erb index c7e063eff..5866e9331 100644 --- a/app/views/wiki_page_versions/diff.html.erb +++ b/app/views/wiki_page_versions/diff.html.erb @@ -4,7 +4,7 @@ <%= render "wiki_pages/sidebar" %> <% content_for(:content) do %> -

Wiki Page Version Comparison: <%= link_to @thispage.title, wiki_page_versions_path(search: { wiki_page_id: @thispage.wiki_page_id }, type: params[:type], anchor: "wiki-page-version-#{@thispage.id}"), class: "tag-type-#{@thispage.wiki_page.category_name}" %>

+

Wiki Page Version Comparison: <%= link_to @thispage.title, wiki_page_versions_path(search: { wiki_page_id: @thispage.wiki_page_id }, type: params[:type], anchor: "wiki-page-version-#{@thispage.id}"), class: "tag-type-#{@thispage.wiki_page.tag.category}" %>

<% if params[:type].present? %> <%= render "versions/types" %>