mirror of
https://github.com/bitwarden/server.git
synced 2025-06-28 14:46:14 -05:00
clean up
This commit is contained in:
parent
57e035bf51
commit
da7c961729
@ -95,7 +95,7 @@ public class ImportOrganizationUserCommand : IImportOrganizationUserCommand
|
|||||||
await OverwriteExisting(events, importUserData);
|
await OverwriteExisting(events, importUserData);
|
||||||
}
|
}
|
||||||
|
|
||||||
await RemoveExistingUsers(existingUsers, newUsers, organization, importUserData);
|
await UpsertExistingUsers(existingUsers, newUsers, organization, importUserData);
|
||||||
|
|
||||||
await AddNewUsers(organization, newUsers, eventSystemUser, importUserData);
|
await AddNewUsers(organization, newUsers, eventSystemUser, importUserData);
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ public class ImportOrganizationUserCommand : IImportOrganizationUserCommand
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task RemoveExistingUsers(IEnumerable<OrganizationUserUserDetails> existingUsers,
|
private async Task UpsertExistingUsers(IEnumerable<OrganizationUserUserDetails> existingUsers,
|
||||||
IEnumerable<ImportedOrganizationUser> newUsers,
|
IEnumerable<ImportedOrganizationUser> newUsers,
|
||||||
Organization organization,
|
Organization organization,
|
||||||
OrganizationUserImportData importUserData)
|
OrganizationUserImportData importUserData)
|
||||||
@ -159,19 +159,19 @@ public class ImportOrganizationUserCommand : IImportOrganizationUserCommand
|
|||||||
.Where(u => string.IsNullOrWhiteSpace(u.ExternalId))
|
.Where(u => string.IsNullOrWhiteSpace(u.ExternalId))
|
||||||
.ToDictionary(u => u.Email);
|
.ToDictionary(u => u.Email);
|
||||||
var newUsersEmailsDict = newUsers.ToDictionary(u => u.Email);
|
var newUsersEmailsDict = newUsers.ToDictionary(u => u.Email);
|
||||||
var usersToAttach = existingUsersEmailsDict.Keys.Intersect(newUsersEmailsDict.Keys).ToList();
|
var newAndExistingUsersIntersection = existingUsersEmailsDict.Keys.Intersect(newUsersEmailsDict.Keys).ToList();
|
||||||
|
var organizationUsers = (await _organizationUserRepository.GetManyAsync(existingUsers.Select(u => u.Id).ToList())).ToDictionary(u => u.Id);
|
||||||
var usersToUpsert = new List<OrganizationUser>();
|
var usersToUpsert = new List<OrganizationUser>();
|
||||||
|
|
||||||
var orgUsers = (await _organizationUserRepository.GetManyAsync(existingUsers.Select(u => u.Id).ToList())).ToDictionary(u => u.Id);
|
|
||||||
|
|
||||||
foreach (var user in usersToAttach)
|
foreach (var user in newAndExistingUsersIntersection)
|
||||||
{
|
{
|
||||||
var orgUser = orgUsers[existingUsersEmailsDict[user].Id];
|
var organizationUser = organizationUsers[existingUsersEmailsDict[user].Id];
|
||||||
if (orgUser != null)
|
if (organizationUser != null)
|
||||||
{
|
{
|
||||||
orgUser.ExternalId = newUsersEmailsDict[user].ExternalId;
|
organizationUser.ExternalId = newUsersEmailsDict[user].ExternalId;
|
||||||
usersToUpsert.Add(orgUser);
|
usersToUpsert.Add(organizationUser);
|
||||||
importUserData.ExistingExternalUsersIdDict.Add(orgUser.ExternalId, orgUser.Id);
|
importUserData.ExistingExternalUsersIdDict.Add(organizationUser.ExternalId, organizationUser.Id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await _organizationUserRepository.UpsertManyAsync(usersToUpsert);
|
await _organizationUserRepository.UpsertManyAsync(usersToUpsert);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user