39 lines
792 B
Ruby
39 lines
792 B
Ruby
|
# frozen_string_literal: true
|
||
|
# This script is used by BackupRestore.backup! and BackupRestore.restore!
|
||
|
|
||
|
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
|