gitlab-org--gitlab-foss/lib/gitlab/import_export/project/base_task.rb

52 lines
1.2 KiB
Ruby

# frozen_string_literal: true
module Gitlab
module ImportExport
module Project
class BaseTask
include Gitlab::WithRequestStore
def initialize(opts, logger: Logger.new($stdout))
@project_path = opts.fetch(:project_path)
@file_path = opts.fetch(:file_path)
@namespace = Namespace.find_by_full_path(opts.fetch(:namespace_path))
@current_user = User.find_by_username(opts.fetch(:username))
@logger = logger
end
private
attr_reader :project, :namespace, :current_user, :file_path, :project_path, :logger
def disable_upload_object_storage
overwrite_uploads_setting('enabled', false) do
yield
end
end
def overwrite_uploads_setting(key, value)
old_value = Settings.uploads.object_store[key]
Settings.uploads.object_store[key] = value
yield
ensure
Settings.uploads.object_store[key] = old_value
end
def success(message)
logger.info(message)
true
end
def error(message)
logger.error(message)
false
end
end
end
end
end