Fix keys import

pull/16315/head
cgonzalez 3 years ago
parent 8c6760a399
commit 944257ce54

@ -16,18 +16,18 @@ module Carto
module RedisExportServiceImporter
include RedisExportServiceConfiguration
def restore_redis_from_json_export(exported_json_string)
restore_redis_from_hash_export(JSON.parse(exported_json_string).deep_symbolize_keys)
def restore_redis_from_json_export(exported_json_string, user = nil)
restore_redis_from_hash_export(JSON.parse(exported_json_string).deep_symbolize_keys, user)
end
def remove_redis_from_json_export(exported_json_string)
remove_redis_from_hash_export(JSON.parse(exported_json_string).deep_symbolize_keys)
end
def restore_redis_from_hash_export(exported_hash)
def restore_redis_from_hash_export(exported_hash, user)
raise 'Wrong export version' unless compatible_version?(exported_hash[:version])
restore_redis(exported_hash[:redis])
restore_redis(exported_hash[:redis], user)
end
def remove_redis_from_hash_export(exported_hash)
@ -38,10 +38,10 @@ module Carto
private
def restore_redis(redis_export)
def restore_redis(redis_export, user)
restore_keys($users_metadata, redis_export[:users_metadata])
restore_named_maps($tables_metadata, redis_export[:tables_metadata])
restore_do_subscriptions($users_metadata, redis_export[:do_subscriptions])
restore_do_subscriptions($users_metadata, redis_export[:do_subscriptions], user)
end
def remove_redis(redis_export)
@ -64,7 +64,7 @@ module Carto
end
end
def restore_do_subscriptions(redis_db, redis_keys)
def restore_do_subscriptions(redis_db, redis_keys, user)
redis_keys.each do |key, value|
subscriptions = JSON.parse(value.presence || '[]')

@ -533,7 +533,7 @@ module Carto
raise UserAlreadyExists.new if ::Carto::User.exists?(id: user.id)
save_imported_user(user)
Carto::RedisExportService.new.restore_redis_from_json_export(redis_user_file(path))
Carto::RedisExportService.new.restore_redis_from_json_export(redis_user_file(path), user)
user
end

Loading…
Cancel
Save