#207 feat: Wiki 過去版取得で更新日時が異なる問題修正(#111)

Merged
みてるぞ merged 4 commits from feature/111 into main 1 month ago
  1. +9
    -21
      backend/app/controllers/wiki_pages_controller.rb

+ 9
- 21
backend/app/controllers/wiki_pages_controller.rb View File

@@ -154,8 +154,7 @@ class WikiPagesController < ApplicationController
def render_wiki_page_or_404 page def render_wiki_page_or_404 page
return head :not_found unless page return head :not_found unless page


if params[:version].present?
rev = page.wiki_revisions.find_by(id: params[:version])
rev = find_revision(page)
return head :not_found unless rev return head :not_found unless rev


if rev.redirect? if rev.redirect?
@@ -168,29 +167,18 @@ class WikiPagesController < ApplicationController
revision_id = rev.id revision_id = rev.id
pred = page.pred_revision_id(revision_id) pred = page.pred_revision_id(revision_id)
succ = page.succ_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:)
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)
render json: page.as_json(methods: [:title])
.merge(body:, revision_id:, pred:, succ:, updated_at:)
end end


if rev.redirect?
return (
redirect_to wiki_page_by_title_path(title: rev.redirect_page.title),
status: :moved_permanently)
def find_revision page
if params[:version].present?
page.wiki_revisions.find_by(id: params[:version])
else
page.current_revision
end end

body = rev.body
revision_id = rev.id
pred = page.pred_revision_id(revision_id)
succ = page.succ_revision_id(revision_id)

render json: page.as_json(methods: [:title]).merge(body:, revision_id:, pred:, succ:)
end end


def render_wiki_conflict err def render_wiki_conflict err


Loading…
Cancel
Save