Skip to content

Commit

Permalink
#5710 deletion of vis after proper restore
Browse files Browse the repository at this point in the history
  • Loading branch information
Kartones committed Sep 29, 2015
1 parent 9f4a41d commit c22e649
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 8 deletions.
12 changes: 7 additions & 5 deletions app/models/carto/visualization_backup.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,14 @@
module Carto
class VisualizationBackup < ActiveRecord::Base

# @param String username
# @param Uuid visualization
# @param String export_vizjson
# @param DateTime created_at (Self-generated)
# @param String username
# @param Uuid visualization
# @param String export_vizjson
# @param DateTime created_at (Self-generated)

validates :username, :visualization, :export_vizjson, presence: true
set_primary_key "visualization"

validates :username, :visualization, :export_vizjson, presence: true

end
end
21 changes: 18 additions & 3 deletions app/services/carto/visualizations_export_service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,30 @@ def export(visualization_id)
visualization: visualization.id,
export_vizjson: data
)

backup_entry.save

true
end

def import(visualization_id)
restore_result = restore(visualization_id)
remove_backup(visualization_id) if restore_result
true
end

private

def remove_backup(visualization_id)
backup_item = Carto::VisualizationBackup.where(visualization: visualization_id).first
if backup_item
backup_item.destroy
true
else
false
end
end

def restore(visualization_id)
# TODO: support partial restores
visualization = Carto::Visualization.where(id: visualization_id).first
raise "Visualization with id #{visualization_id} already exists!" if visualization
Expand Down Expand Up @@ -70,8 +87,6 @@ def import(visualization_id)
true
end

private

def create_map_and_base_layer(user)
base_layer = CartoDB::Factories::LayerFactory.get_default_base_layer(user)
map = CartoDB::Factories::MapFactory.get_map(base_layer, user.id)
Expand Down

0 comments on commit c22e649

Please sign in to comment.