# frozen_string_literal: true # This script is used by BackupRestore.backup! and BackupRestore.restore! fork do require File.expand_path("../../config/environment", __FILE__) def backup user_id, opts = parse_params BackupRestore::Backuper.new(user_id, opts).run end def restore user_id, opts = parse_params BackupRestore::Restorer.new( user_id: user_id, filename: opts[:filename], factory: BackupRestore::Factory.new( user_id: user_id, client_id: opts[:client_id] ), disable_emails: opts.fetch(:disable_emails, true) ).run end def parse_params user_id = ARGV[1].to_i opts = JSON.parse(ARGV[2], symbolize_names: true) [user_id, opts] end case ARGV[0] when "backup" backup when "restore" restore else raise "Unknown argument: #{ARGV[0]}" end end