mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Cleanup ignored user logic (#11107)
- IgnoredUser records should all now have an expiring_at value. This commit enforces that in the DB, and fixes any corrupt rows
- Changes to the ignored user list are now handled by the `/u/{username}/notification_level` endpoint. This allows setting expiration dates on the ignore. This commit removes the old logic for saving a list of usernames in the user preferences.
- Many specs were calling `IgnoredUser.create`. This commit changes them to use `Fabricate(:ignored_user)` for consistency
This commit is contained in:
17
db/migrate/20201103103401_add_not_null_to_ignored_users.rb
Normal file
17
db/migrate/20201103103401_add_not_null_to_ignored_users.rb
Normal file
@@ -0,0 +1,17 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class AddNotNullToIgnoredUsers < ActiveRecord::Migration[6.0]
|
||||
def up
|
||||
execute <<~SQL
|
||||
UPDATE ignored_users
|
||||
SET expiring_at = created_at + interval '4 months'
|
||||
WHERE expiring_at IS NULL
|
||||
SQL
|
||||
|
||||
change_column_null :ignored_users, :expiring_at, false
|
||||
end
|
||||
|
||||
def down
|
||||
change_column_null :ignored_users, :expiring_at, true
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user