namespace :password_breach_alert do

desc 'Fetch breaches from HIBP, check email and enforce policy'
task :checker, [:model_name] => [:environment] do |_task, args|
  args.with_defaults(model_name: :user)
  model_name = args[:model_name].to_sym
  mapping = Devise.mappings[model_name]
  if !mapping
    puts "Could not find Devise mapping for #{model_name}"
    next
  end

  model_class = mapping.class_name.constantize
  PasswordBreachAlert::Checker.new.call(users: model_class.all)
end

end