Browse Source

feat: #84 のバグ対応(#181) (#182)

#181 バグ

#181

#181

#181

Co-authored-by: miteruzo <miteruzo@naver.com>
Reviewed-on: https://git.miteruzo.com/miteruzo/btrc-hub/pulls/182
main
みてるぞ 1 day ago
parent
commit
468ef44bf9
1 changed files with 15 additions and 9 deletions
  1. +15
    -9
      backend/lib/tasks/sync_nico.rake

+ 15
- 9
backend/lib/tasks/sync_nico.rake View File

@@ -27,7 +27,9 @@ namespace :nico do
end
end

PostTag.where(post_id: post.id, tag_id: to_remove.to_a).kept.find_each(&:discard!)
PostTag.where(post_id: post.id, tag_id: to_remove.to_a).kept.find_each do |pt|
pt.discard_by!(nil)
end
end

mysql_user = ENV['MYSQL_USER']
@@ -57,12 +59,14 @@ namespace :nico do
end
post.save!
post.resized_thumbnail!
sync_post_tags!(post, [Tag.tagme.id])
end

kept_tags = post.tags.reload
kept_non_nico_ids = kept_tags.where.not(category: 'nico').pluck(:id).to_set

desired_nico_ids = []
desired_non_nico_ids = []
datum['tags'].each do |raw|
name = "nico:#{ raw }"
tag = Tag.find_or_initialize_by(name:) do |t|
@@ -70,17 +74,19 @@ namespace :nico do
end
tag.save! if tag.new_record?
desired_nico_ids << tag.id
desired_nico_ids.concat(tag.linked_tags.pluck(:id))
unless tag.in?(kept_tags)
desired_non_nico_ids.concat(tag.linked_tags.pluck(:id))
desired_nico_ids.concat(tag.linked_tags.pluck(:id))
end
end
desired_nico_ids.uniq!

desired_extra_ids = []
desired_extra_ids << Tag.tagme.id if kept_tags.size < 10
desired_extra_ids << Tag.bot.id
desired_extra_ids.compact!
desired_extra_ids.uniq!

desired_all_ids = kept_non_nico_ids.to_a + desired_nico_ids + desired_extra_ids
desired_all_ids = kept_non_nico_ids.to_a + desired_nico_ids
desired_non_nico_ids.concat(kept_non_nico_ids.to_a)
desired_non_nico_ids.uniq!
if kept_non_nico_ids.to_set != desired_non_nico_ids.to_set
desired_all_ids << Tag.bot.id
end
desired_all_ids.uniq!

sync_post_tags!(post, desired_all_ids)


Loading…
Cancel
Save