feat: タグ名を別管理に変更(#215) (#219)
Merge branch 'main' into feature/215 #215 ニコニコ同期テスト #215 テスト・ケース追加 #215 テスト・ケース追加 #215 テスト・ケース追加 #215 テスト・ケース追加 Merge remote-tracking branch 'origin/main' into feature/215 Merge branch 'main' into feature/215 #215 #215 Merge remote-tracking branch 'origin/main' into feature/215 #215 Co-authored-by: miteruzo <miteruzo@naver.com> Reviewed-on: #219
This commit was merged in pull request #219.
This commit is contained in:
@@ -2,19 +2,25 @@ class WikiPagesController < ApplicationController
|
||||
rescue_from Wiki::Commit::Conflict, with: :render_wiki_conflict
|
||||
|
||||
def index
|
||||
render json: WikiPage.all
|
||||
pages = WikiPage.all
|
||||
render json: pages.as_json(methods: [:title])
|
||||
end
|
||||
|
||||
def show
|
||||
render_wiki_page_or_404 WikiPage.find(params[:id])
|
||||
page = WikiPage.find_by(id: params[:id])
|
||||
render_wiki_page_or_404 page
|
||||
end
|
||||
|
||||
def show_by_title
|
||||
render_wiki_page_or_404 WikiPage.find_by(title: params[:title])
|
||||
title = params[:title].to_s.strip
|
||||
page = WikiPage.joins(:tag_name)
|
||||
.includes(:tag_name)
|
||||
.find_by(tag_names: { name: title })
|
||||
render_wiki_page_or_404 page
|
||||
end
|
||||
|
||||
def exists
|
||||
if WikiPage.exists?(params[:id])
|
||||
if WikiPage.exists?(id: params[:id])
|
||||
head :no_content
|
||||
else
|
||||
head :not_found
|
||||
@@ -22,7 +28,8 @@ class WikiPagesController < ApplicationController
|
||||
end
|
||||
|
||||
def exists_by_title
|
||||
if WikiPage.exists?(title: params[:title])
|
||||
title = params[:title].to_s.strip
|
||||
if WikiPage.joins(:tag_name).exists?(tag_names: { name: title })
|
||||
head :no_content
|
||||
else
|
||||
head :not_found
|
||||
@@ -81,7 +88,7 @@ class WikiPagesController < ApplicationController
|
||||
message = params[:message].presence
|
||||
Wiki::Commit.content!(page:, body:, created_user: current_user, message:)
|
||||
|
||||
render json: page, status: :created
|
||||
render json: page.as_json(methods: [:title]), status: :created
|
||||
else
|
||||
render json: { errors: page.errors.full_messages },
|
||||
status: :unprocessable_entity
|
||||
@@ -115,14 +122,14 @@ class WikiPagesController < ApplicationController
|
||||
end
|
||||
|
||||
def search
|
||||
title = params[:title]&.strip
|
||||
title = params[:title].to_s.strip
|
||||
|
||||
q = WikiPage.all
|
||||
q = WikiPage.joins(:tag_name).includes(:tag_name)
|
||||
if title.present?
|
||||
q = q.where('title LIKE ?', "%#{ WikiPage.sanitize_sql_like(title) }%")
|
||||
q = q.where('tag_names.name LIKE ?', "%#{ WikiPage.sanitize_sql_like(title) }%")
|
||||
end
|
||||
|
||||
render json: q.limit(20)
|
||||
render json: q.limit(20).as_json(methods: [:title])
|
||||
end
|
||||
|
||||
def changes
|
||||
@@ -162,12 +169,14 @@ class WikiPagesController < ApplicationController
|
||||
pred = page.pred_revision_id(revision_id)
|
||||
succ = page.succ_revision_id(revision_id)
|
||||
|
||||
return render json: page.as_json.merge(body:, revision_id:, pred:, succ:)
|
||||
return render json: page.as_json(methods: [:title])
|
||||
.merge(body:, revision_id:, pred:, succ:)
|
||||
end
|
||||
|
||||
rev = page.current_revision
|
||||
unless rev
|
||||
return render json: page.as_json.merge(body: nil, revision_id: nil, pred: nil, succ: nil)
|
||||
return render json: page.as_json(methods: [:title])
|
||||
.merge(body: nil, revision_id: nil, pred: nil, succ: nil)
|
||||
end
|
||||
|
||||
if rev.redirect?
|
||||
@@ -181,7 +190,7 @@ class WikiPagesController < ApplicationController
|
||||
pred = page.pred_revision_id(revision_id)
|
||||
succ = page.succ_revision_id(revision_id)
|
||||
|
||||
render json: page.as_json.merge(body:, revision_id:, pred:, succ:)
|
||||
render json: page.as_json(methods: [:title]).merge(body:, revision_id:, pred:, succ:)
|
||||
end
|
||||
|
||||
def render_wiki_conflict err
|
||||
|
||||
Reference in New Issue
Block a user