Files
danbooru/app/logical/post_pruner.rb
evazion 8b0d58130c posts: add workaround to avoid falsely delete pending posts.
Add a temporary workaround for the database index corruption bug. Add a
check to skip deleting pending posts if they're not really pending.
2021-10-08 21:47:56 -05:00

31 lines
754 B
Ruby

# Delete posts that were unapproved after three days.
module PostPruner
module_function
def prune!
prune_pending!
prune_flagged!
prune_appealed!
end
def prune_pending!
Post.pending.expired.each do |post|
next unless post.is_pending?
post.delete!("Unapproved in three days", user: User.system)
end
end
def prune_flagged!
PostFlag.expired.each do |flag|
next unless flag.post.is_flagged?
flag.post.delete!("Unapproved in three days after returning to moderation queue", user: User.system)
end
end
def prune_appealed!
PostAppeal.expired.each do |appeal|
appeal.post.delete!("Unapproved in three days after returning to moderation queue", user: User.system)
end
end
end