lib/tasks/user.rake
# frozen_string_literal: true
namespace :user do
desc "Create index for users"
task create_index: :environment do
puts User.create_index
end
desc "Delete index for users"
task delete_index: :environment do
puts User.delete_index
end
desc "Upgrade index for users"
task upgrade_index: :environment do
puts User.upgrade_index
end
desc "Show index stats for users"
task index_stats: :environment do
puts User.index_stats
end
desc "Switch index for users"
task switch_index: :environment do
puts User.switch_index
end
desc "Return active index for users"
task active_index: :environment do
puts User.active_index + " is the active index."
end
desc "Monitor reindexing for users"
task monitor_reindex: :environment do
puts User.monitor_reindex
end
desc "Create alias for users"
task create_alias: :environment do
puts User.create_alias(index: ENV["INDEX"], alias: ENV["ALIAS"])
end
desc "List aliases for users"
task list_aliases: :environment do
puts User.list_aliases
end
desc "Delete alias for users"
task delete_alias: :environment do
puts User.delete_alias(index: ENV["INDEX"], alias: ENV["ALIAS"])
end
desc "Import all users"
task import: :environment do
from_id = (ENV["FROM_ID"] || User.minimum(:id)).to_i
until_id = (ENV["UNTIL_ID"] || User.maximum(:id)).to_i
User.import_by_ids(from_id: from_id, until_id: until_id, index: ENV["INDEX"] || User.inactive_index)
end
desc "Delete expired ORCID tokens"
task delete_expired_token: :environment do
User.delete_expired_token(index: ENV["INDEX"] || User.inactive_index)
end
desc "Update all claims counts"
task update_counts: :environment do
User.find_each do |user|
user.save
puts "User #{user.uid} has #{user.claims_count} claims."
end
end
end