mirror of
https://github.com/discourse/discourse.git
synced 2024-12-30 06:53:58 +08:00
35 lines
815 B
Ruby
35 lines
815 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: location)
|
|
end
|
|
end
|
|
end
|