Skip to content

Commit

Permalink
Add rake task to export/remove invalid user phone numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
phil-l-brockwell committed Nov 11, 2024
1 parent ae017d7 commit 196acb2
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions lib/tasks/temprary/remove_invalid_user_phone_numbers.rake
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
namespace :db do
desc "Remove invalid user phone_numbers"
task remove_invalid_user_phone_numbers: :environment do
User.find_each do |user|
invalid = false

if user.phone_number && Phonelib.invalid_for_country?(user.phone_number, "GB")
user.phone_number = nil
invalid = true
end

if user.company_phone_number && Phonelib.invalid_for_country?(user.company_phone_number, "GB")
user.company_phone_number = nil
invalid = true
end

user.save! if invalid
end
end

desc "Export users with invalid phone numbers"
task export_user_phone_numbers: :environment do
CSV.open("user_phone_numbers.csv", "w") do |csv|
csv << ["Email", "Name", "Number", "Field"]

User.find_each do |user|
if user.phone_number && Phonelib.invalid_for_country?(user.phone_number, "GB")
csv << [
user.email,
user.full_name,
user.phone_number,
"phone_number",
]
end

if user.company_phone_number && Phonelib.invalid_for_country?(user.company_phone_number, "GB")
csv << [
user.email,
user.full_name,
user.company_phone_number,
"company_phone_number",
]
end
end
end
end
end

0 comments on commit 196acb2

Please sign in to comment.