post_tags の論理削除と履歴管理を廃止 (#411) #417

マージ済み
みてるぞ が 8 個のコミットを feature/411 から main へマージ 2026-09-21 06:02:42 +09:00
2個のファイルの変更0行の追加45行の削除
コミット 4b99743435 の変更だけを表示しています - すべてのコミットを表示
-44
ファイルの表示
@@ -381,50 +381,6 @@ class PostsController < ApplicationController
render_post_form_record_invalid e.record
end
def changes
id = params[:id].presence
tag_id = params[:tag].presence
page = (params[:page].presence || 1).to_i
limit = (params[:limit].presence || 20).to_i
page = 1 if page < 1
limit = 1 if limit < 1
offset = (page - 1) * limit
pts = PostTag
pts = pts.where(post_id: id) if id.present?
pts = pts.where(tag_id:) if tag_id.present?
pts = pts.includes(:post, :created_user, :deleted_user,
tag: [:deerjikists, :materials, { tag_name: :wiki_page }])
events = []
pts.each do |pt|
tag = TagRepr.base(pt.tag)
post = pt.post
events << Event.new(
post:,
tag:,
user: pt.created_user && { id: pt.created_user.id, name: pt.created_user.name },
change_type: 'add',
timestamp: pt.created_at)
if pt.discarded_at
events << Event.new(
post:,
tag:,
user: pt.deleted_user && { id: pt.deleted_user.id, name: pt.deleted_user.name },
change_type: 'remove',
timestamp: pt.discarded_at)
end
end
events.sort_by!(&:timestamp)
events.reverse!
render json: { changes: (events.slice(offset, limit) || []).as_json, count: events.size }
end
private
def filtered_posts
-1
ファイルの表示
@@ -55,7 +55,6 @@ Rails.application.routes.draw do
get :metadata
post :bulk
get :random
get :changes
get :versions, to: 'post_versions#index'
end