debian-mirror-gitlab/app/services/bulk_imports/get_importable_data_service.rb
2021-11-18 22:05:49 +05:30

46 lines
1,008 B
Ruby

# frozen_string_literal: true
module BulkImports
class GetImportableDataService
def initialize(params, query_params, credentials)
@params = params
@query_params = query_params
@credentials = credentials
end
def execute
{
version_validation: version_validation,
response: importables
}
end
private
def importables
client.get('groups', @query_params)
end
def version_validation
{
features: {
project_migration: {
available: client.compatible_for_project_migration?,
min_version: BulkImport.min_gl_version_for_project_migration.to_s
},
source_instance_version: client.instance_version.to_s
}
}
end
def client
@client ||= BulkImports::Clients::HTTP.new(
url: @credentials[:url],
token: @credentials[:access_token],
per_page: @params[:per_page],
page: @params[:page]
)
end
end
end