Browse Source

#111

pull/207/head
みてるぞ 3 weeks ago
parent
commit
e4a047773a
1 changed files with 10 additions and 25 deletions
  1. +10
    -25
      backend/app/controllers/wiki_pages_controller.rb

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

@@ -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


Loading…
Cancel
Save