1# frozen_string_literal: true
2
3module BulkImports
4  module Projects
5    module Transformers
6      class ProjectAttributesTransformer
7        PROJECT_IMPORT_TYPE = 'gitlab_project_migration'
8
9        def transform(context, data)
10          entity = context.entity
11          visibility = data.delete('visibility')
12
13          data['name'] = entity.destination_name
14          data['path'] = entity.destination_name.parameterize
15          data['import_type'] = PROJECT_IMPORT_TYPE
16          data['visibility_level'] = Gitlab::VisibilityLevel.string_options[visibility] if visibility.present?
17          data['namespace_id'] = Namespace.find_by_full_path(entity.destination_namespace)&.id if entity.destination_namespace.present?
18
19          data.transform_keys!(&:to_sym)
20        end
21      end
22    end
23  end
24end
25