This commit is contained in:
2026-01-17 09:01:12 +09:00
parent 3a2fab5d11
commit e4a047773a
@@ -154,31 +154,8 @@ class WikiPagesController < ApplicationController
def render_wiki_page_or_404 page
return head :not_found unless page
if params[:version].present?
rev = page.wiki_revisions.find_by(id: params[:version])
return head :not_found unless rev
if rev.redirect?
return (
redirect_to wiki_page_by_title_path(title: rev.redirect_page.title),
status: :moved_permanently)
end
body = rev.body
revision_id = rev.id
pred = page.pred_revision_id(revision_id)
succ = page.succ_revision_id(revision_id)
updated_at = rev.created_at
return render json: page.as_json(methods: [:title])
.merge(body:, revision_id:, pred:, succ:, updated_at:)
end
rev = page.current_revision
unless rev
return render json: page.as_json(methods: [:title])
.merge(body: nil, revision_id: nil, pred: nil, succ: nil)
end
rev = find_revision(page)
return head :not_found unless rev
if rev.redirect?
return (
@@ -196,6 +173,14 @@ class WikiPagesController < ApplicationController
.merge(body:, revision_id:, pred:, succ:, updated_at:)
end
def find_revision page
if params[:version].present?
page.wiki_revisions.find_by(id: params[:version])
else
page.current_revision
end
end
def render_wiki_conflict err
render json: { error: 'conflict', message: err.message }, status: :conflict
end