discourse/lib/backup_restore/factory.rb
Gerhard Schlager 4d719725c8
FEATURE: Allow overriding the backup location when restoring via CLI (#12015)
You can use `discourse restore --location=local FILENAME` if you want to restore a backup that is stored locally even though the `backup_location` has the value `s3`.
2021-02-09 16:02:44 +01:00

35 lines
805 B
Ruby

# frozen_string_literal: true
module BackupRestore
class Factory
def initialize(user_id: nil, client_id: nil)
@user_id = user_id
@client_id = client_id
end
def logger
@logger ||= Logger.new(user_id: @user_id, client_id: @client_id)
end
def create_system_interface
SystemInterface.new(logger)
end
def create_uploads_restorer
UploadsRestorer.new(logger)
end
def create_database_restorer(current_db)
DatabaseRestorer.new(logger, current_db)
end
def create_meta_data_handler(filename, tmp_directory)
MetaDataHandler.new(logger, filename, tmp_directory)
end
def create_backup_file_handler(filename, current_db, location)
BackupFileHandler.new(logger, filename, current_db, location)
end
end
end