Add Settings to delete unconfirmed users
What does this MR do and why?
- Start of work on #352514 (closed)
- There is prior art for this:
- Deleting dormant users: !57778 (merged)
- Delay in deleting project/groups: !84519 (merged)
- We will use this setting, if set, to kick off a cron job to delete any unconfirmed who were created over N days ago.
Migration output
Migrate
% bin/rails db:migrate:main RAILS_ENV=development
main: == [advisory_lock_connection] object_id: 279100, pg_backend_pid: 49647
main: == 20230601035558 AddUnconfirmedUserDeletionToApplicationSettings: migrating ==
main: -- add_column(:application_settings, :delete_unconfirmed_users, :boolean, {:default=>false, :null=>false})
main: -> 0.0071s
main: -- add_column(:application_settings, :unconfirmed_users_delete_after_days, :integer, {:default=>7, :null=>false})
main: -> 0.0030s
main: == 20230601035558 AddUnconfirmedUserDeletionToApplicationSettings: migrated (0.0245s)
main: == [advisory_lock_connection] object_id: 279100, pg_backend_pid: 49647
Rollback
bin/rails db:rollback:main VERSION=20230601035558 RAILS_ENV=development
main: == [advisory_lock_connection] object_id: 278900, pg_backend_pid: 49197
main: == 20230601035558 AddUnconfirmedUserDeletionToApplicationSettings: reverting ==
main: -- remove_column(:application_settings, :unconfirmed_users_delete_after_days, :integer, {:default=>7, :null=>false})
main: -> 0.0034s
main: -- remove_column(:application_settings, :delete_unconfirmed_users, :boolean, {:default=>false, :null=>false})
main: -> 0.0013s
main: == 20230601035558 AddUnconfirmedUserDeletionToApplicationSettings: reverted (0.0127s)
main: == [advisory_lock_connection] object_id: 278900, pg_backend_pid: 49197
How to set up and validate locally
There is nothing to use here yet, the cron job for deleting users when this setting is set and the UI will be added in separate MRs.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Jessie Young