奪はれた別名の履歴追加 (#329) (#338)

#329

Co-authored-by: miteruzo <miteruzo@naver.com>
Reviewed-on: #338
This commit was merged in pull request #338.
This commit is contained in:
2026-04-27 12:45:06 +09:00
parent 0ff7fdf78a
commit fcd3b87b2a
4 changed files with 25 additions and 4 deletions
@@ -336,8 +336,27 @@ class TagsController < ApplicationController
end
def update_aliases! tag, alias_names
alias_names = alias_names.uniq
affected_tags = [tag]
current_aliases = tag.tag_name.aliases.to_a
current_aliases.each do |alias_tag_name|
next if alias_names.include?(alias_tag_name.name)
affected_tags << alias_tag_name.canonical&.tag
end
alias_names.each do |alias_name|
alias_tag_name = TagName.find_undiscard_or_create_by!(name: alias_name)
affected_tags << alias_tag_name.canonical&.tag
end
affected_tags.compact.uniq.each do |affected_tag|
TagVersioning.ensure_snapshot!(affected_tag, created_by_user: current_user)
end
current_aliases.each do |alias_tag_name|
next if alias_names.include?(alias_tag_name.name)
@@ -348,6 +367,10 @@ class TagsController < ApplicationController
alias_tag_name = TagName.find_undiscard_or_create_by!(name: alias_name)
alias_tag_name.update!(canonical: tag.tag_name)
end
affected_tags.compact.uniq.each do |affected_tag|
record_tag_version!(affected_tag, event_type: :update, created_by_user: current_user)
end
end
def update_parent_tags! tag, parent_names