Skip to content
Snippets Groups Projects

Fix: Add ApiToken Merge

Merged Benedikt Heinrichs requested to merge Issue/2325-fixApiTokenMerging into dev
1 file
+ 12
0
Compare changes
  • Side-by-side
  • Inline
+ 12
0
@@ -16,6 +16,7 @@ namespace Coscine.Api.STS.Utils
@@ -16,6 +16,7 @@ namespace Coscine.Api.STS.Utils
private readonly ResourceModel _resourceModel;
private readonly ResourceModel _resourceModel;
private readonly RoleModel _roleModel;
private readonly RoleModel _roleModel;
private readonly TOSModel _tosModel;
private readonly TOSModel _tosModel;
 
private readonly ApiTokenModel _apiTokenModel;
private readonly UserModel _userModel;
private readonly UserModel _userModel;
private readonly UserDisciplineModel _userDisciplineModel;
private readonly UserDisciplineModel _userDisciplineModel;
@@ -33,6 +34,7 @@ namespace Coscine.Api.STS.Utils
@@ -33,6 +34,7 @@ namespace Coscine.Api.STS.Utils
_resourceModel = new ResourceModel();
_resourceModel = new ResourceModel();
_roleModel = new RoleModel();
_roleModel = new RoleModel();
_tosModel = new TOSModel();
_tosModel = new TOSModel();
 
_apiTokenModel = new ApiTokenModel();
_userModel = new UserModel();
_userModel = new UserModel();
_userDisciplineModel = new UserDisciplineModel();
_userDisciplineModel = new UserDisciplineModel();
@@ -45,6 +47,7 @@ namespace Coscine.Api.STS.Utils
@@ -45,6 +47,7 @@ namespace Coscine.Api.STS.Utils
MergeUserDiscipline(mergeIntoUser, mergeFromUser);
MergeUserDiscipline(mergeIntoUser, mergeFromUser);
MergeResourceOwner(mergeIntoUser, mergeFromUser);
MergeResourceOwner(mergeIntoUser, mergeFromUser);
MergeTOSAccepted(mergeIntoUser, mergeFromUser);
MergeTOSAccepted(mergeIntoUser, mergeFromUser);
 
MergeApiTokens(mergeIntoUser, mergeFromUser);
MergeUserProperties(mergeIntoUser, mergeFromUser);
MergeUserProperties(mergeIntoUser, mergeFromUser);
// ExternalId gets merged last, in case something goes wrong
// ExternalId gets merged last, in case something goes wrong
MergeExternalId(mergeIntoUser, mergeFromUser);
MergeExternalId(mergeIntoUser, mergeFromUser);
@@ -169,6 +172,15 @@ namespace Coscine.Api.STS.Utils
@@ -169,6 +172,15 @@ namespace Coscine.Api.STS.Utils
}
}
}
}
 
private void MergeApiTokens(User mergeIntoUser, User mergeFromUser)
 
{
 
foreach (var apiToken in _apiTokenModel.GetAllWhere((entry) => entry.UserId == mergeFromUser.Id))
 
{
 
apiToken.UserId = mergeIntoUser.Id;
 
_apiTokenModel.Update(apiToken);
 
}
 
}
 
private void MergeUserProperties(User mergeIntoUser, User mergeFromUser)
private void MergeUserProperties(User mergeIntoUser, User mergeFromUser)
{
{
if (string.IsNullOrEmpty(mergeIntoUser.EmailAddress) && !string.IsNullOrEmpty(mergeFromUser.EmailAddress))
if (string.IsNullOrEmpty(mergeIntoUser.EmailAddress) && !string.IsNullOrEmpty(mergeFromUser.EmailAddress))
Loading