Skip to content
Snippets Groups Projects
Unverified Commit 779c15d9 authored by Khemissi Amir's avatar Khemissi Amir Committed by GitHub
Browse files

Resources migration: Added `migrations:users` task. (#4009)

parent 0630101c
No related branches found
No related tags found
No related merge requests found
......@@ -16,10 +16,12 @@ namespace :migrations do
case response
when Net::HTTPCreated
puts green "Succesfully migrated Role:"
puts cyan " ID: #{r.id}"
puts cyan " Name: #{r.name}"
else
puts red "Unable to migrate Role:"
puts red " Name: #{r.name}"
puts yellow " ID: #{r.id}"
puts yellow " Name: #{r.name}"
has_encountred_issue = 1 # At least one of the migrations failed.
end
end
......@@ -30,6 +32,38 @@ namespace :migrations do
exit has_encountred_issue
end
task :users, [] => :environment do |_task, _args|
has_encountred_issue = 0
# TODO: Optimize this by running in batches.
User.select(:id, :uid, :name, :email, :social_uid, :language, :role_id).each do |u|
params = { user: { name: u.name, email: u.email, external_id: u.social_uid, language: u.language, role: u.role.name } }
response = Net::HTTP.post(uri('users'), payload(params), COMMON[:headers])
case response
when Net::HTTPCreated
puts green "Succesfully migrated User:"
puts cyan " UID: #{u.uid}"
puts cyan " Name: #{params[:user][:name]}"
else
puts red "Unable to migrate User:"
puts yellow " UID: #{u.uid}"
puts yellow " Name: #{params[:user][:name]}"
has_encountred_issue = 1 # At least one of the migrations failed.
end
end
puts
puts green "Users migration completed."
unless has_encountred_issue.zero?
puts yellow "In case of an error please retry the process to resolve."
puts yellow "If you have not migrated your roles, kindly run 'rake migrations:roles' first and then retry."
end
exit has_encountred_issue
end
private
def encrypt_params(params)
......@@ -57,8 +91,7 @@ namespace :migrations do
end
def payload(params)
encrypted_params = { "encrypted_params" => encrypt_params(params) }
res = { "v2" => encrypted_params }
res = { "v2" => { "encrypted_params" => encrypt_params(params) } }
res.to_json
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment