このコミットが含まれているのは:
@@ -24,7 +24,12 @@ class NicoTagsController < ApplicationController
|
||||
ExternalTag
|
||||
.joins("LEFT JOIN (#{ post_tag_max_sql }) post_tag_max " \
|
||||
'ON post_tag_max.external_tag_id = external_tags.id')
|
||||
q = q.where('external_tags.name LIKE ?', "%#{ name }%") if name
|
||||
if name
|
||||
q = q.where(('external_tags.name LIKE ? ' +
|
||||
"OR CONCAT(external_tags.platform, ':', external_tags.name) LIKE ?"),
|
||||
"%#{ name }%", "%#{ name }")
|
||||
end
|
||||
|
||||
if linked_tag
|
||||
linked_tag_ids =
|
||||
Tag
|
||||
@@ -108,7 +113,10 @@ class NicoTagsController < ApplicationController
|
||||
updated_at: tag.created_at,
|
||||
deprecated_at: nil,
|
||||
aliases: [],
|
||||
parents: [] }
|
||||
parents: [],
|
||||
has_wiki: false,
|
||||
material_id: nil,
|
||||
has_deerjikists: false }
|
||||
end
|
||||
|
||||
def render_nico_tag_form_record_invalid record
|
||||
|
||||
@@ -2,6 +2,9 @@ class PostVersionsController < ApplicationController
|
||||
def index
|
||||
post_id = params[:post].presence
|
||||
tag_id = params[:tag].presence&.to_i
|
||||
external_tag_id = params[:external_tag].presence&.to_i
|
||||
return head :bad_request if tag_id && external_tag_id
|
||||
|
||||
page = (params[:page].presence || 1).to_i
|
||||
limit = (params[:limit].presence || 20).to_i
|
||||
|
||||
@@ -26,7 +29,12 @@ class PostVersionsController < ApplicationController
|
||||
'prev.original_created_from AS prev_original_created_from',
|
||||
'prev.original_created_before AS prev_original_created_before')
|
||||
q = q.where('post_versions.post_id = ?', post_id) if post_id
|
||||
if tag_id
|
||||
if external_tag_id || (tag_id && !(Tag.exists?(id: tag_id)))
|
||||
q = q.where('JSON_CONTAINS(post_versions.tags_json,' +
|
||||
"JSON_OBJECT('external_tag_id', #{ external_tag_id })) " +
|
||||
'OR JSON_CONTAINS(prev.tags_json,' +
|
||||
"JSON_OBJECT('external_tag_id', #{ external_tag_id }))")
|
||||
elsif tag_id
|
||||
q = q.where("JSON_CONTAINS(post_versions.tags_json, JSON_OBJECT('tag_id', #{ tag_id })) " +
|
||||
"OR JSON_CONTAINS(prev.tags_json, JSON_OBJECT('tag_id', #{ tag_id }))")
|
||||
end
|
||||
|
||||
@@ -505,7 +505,10 @@ class PostsController < ApplicationController
|
||||
memo[tag_id] = TagRepr.inline(tag).merge(children:, sections:)
|
||||
end
|
||||
|
||||
root_ids.filter_map { |id| build_node.call(id, []) }
|
||||
internal_tags = root_ids.filter_map { |id| build_node.call(id, []) }
|
||||
external_tags =
|
||||
post.external_tags.map { ExternalTagRepr.inline(_1).merge(children: [], sections: []) }
|
||||
internal_tags + external_tags
|
||||
end
|
||||
|
||||
def sibling_posts_by_parent parent_post_ids
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする