Class: Gitlab::ImportExport::MembersMapper
- Inherits:
-
Object
- Object
- Gitlab::ImportExport::MembersMapper
- Defined in:
- lib/gitlab/import_export/members_mapper.rb
Instance Method Summary collapse
- #default_user_id ⇒ Object
- #include?(old_user_id) ⇒ Boolean
-
#initialize(exported_members:, user:, importable:, default_member: true) ⇒ MembersMapper
constructor
A new instance of MembersMapper.
- #map ⇒ Object
Constructor Details
#initialize(exported_members:, user:, importable:, default_member: true) ⇒ MembersMapper
Returns a new instance of MembersMapper.
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/gitlab/import_export/members_mapper.rb', line 6 def initialize(exported_members:, user:, importable:, default_member: true) @user = user @importable = importable @exported_members = determine_exported_members(exported_members) # This needs to run first, as second call would be from #map # which means Project/Group members already exist. # Skip this when importing single relations to avoid destroying project members ensure_default_member! if default_member end |
Instance Method Details
#default_user_id ⇒ Object
30 31 32 |
# File 'lib/gitlab/import_export/members_mapper.rb', line 30 def default_user_id @user.id end |
#include?(old_user_id) ⇒ Boolean
34 35 36 |
# File 'lib/gitlab/import_export/members_mapper.rb', line 34 def include?(old_user_id) map.has_key?(old_user_id) end |
#map ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/gitlab/import_export/members_mapper.rb', line 17 def map @map ||= @exported_members.each_with_object(missing_keys_tracking_hash) do |member, hash| if member['user'] old_user_id = member['user']['id'] existing_user_id = existing_users_email_map[get_email(member)] hash[old_user_id] = existing_user_id if existing_user_id && add_team_member(member, existing_user_id) else add_team_member(member) end end end |