Browse Source

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

#111

Merge remote-tracking branch 'origin/main' into feature/111

Merge branch 'main' into feature/111

#111

Co-authored-by: miteruzo <miteruzo@naver.com>
Reviewed-on: https://git.miteruzo.com/miteruzo/btrc-hub/pulls/207
pull/226/head
みてるぞ 3 weeks ago
parent
commit
dd838fdf80
1 changed files with 13 additions and 25 deletions
  1. +13
    -25
      backend/app/controllers/wiki_pages_controller.rb

+ 13
- 25
backend/app/controllers/wiki_pages_controller.rb View File

@@ -154,30 +154,8 @@ 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])
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)

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)
end
rev = find_revision(page)
return head :not_found unless rev


if rev.redirect? if rev.redirect?
return ( return (
@@ -189,8 +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

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


render json: page.as_json(methods: [:title]).merge(body:, revision_id:, pred:, succ:)
def find_revision page
if params[:version].present?
page.wiki_revisions.find_by(id: params[:version])
else
page.current_revision
end
end end


def render_wiki_conflict err def render_wiki_conflict err


Loading…
Cancel
Save