Skip to content
Snippets Groups Projects
Commit 06cf3afd authored by Petar Hristov's avatar Petar Hristov :speech_balloon:
Browse files

Merge branch 'Issue/2325-fixApiTokenMerging' into 'dev'

Fix: Add ApiToken Merge

See merge request !137
parents 57e8f85d 44c73546
Branches
Tags
2 merge requests!138Release: Sprint/2023 01 :robot:,!137Fix: Add ApiToken Merge
......@@ -16,6 +16,7 @@ namespace Coscine.Api.STS.Utils
private readonly ResourceModel _resourceModel;
private readonly RoleModel _roleModel;
private readonly TOSModel _tosModel;
private readonly ApiTokenModel _apiTokenModel;
private readonly UserModel _userModel;
private readonly UserDisciplineModel _userDisciplineModel;
......@@ -33,6 +34,7 @@ namespace Coscine.Api.STS.Utils
_resourceModel = new ResourceModel();
_roleModel = new RoleModel();
_tosModel = new TOSModel();
_apiTokenModel = new ApiTokenModel();
_userModel = new UserModel();
_userDisciplineModel = new UserDisciplineModel();
......@@ -45,6 +47,7 @@ namespace Coscine.Api.STS.Utils
MergeUserDiscipline(mergeIntoUser, mergeFromUser);
MergeResourceOwner(mergeIntoUser, mergeFromUser);
MergeTOSAccepted(mergeIntoUser, mergeFromUser);
MergeApiTokens(mergeIntoUser, mergeFromUser);
MergeUserProperties(mergeIntoUser, mergeFromUser);
// ExternalId gets merged last, in case something goes wrong
MergeExternalId(mergeIntoUser, mergeFromUser);
......@@ -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)
{
if (string.IsNullOrEmpty(mergeIntoUser.EmailAddress) && !string.IsNullOrEmpty(mergeFromUser.EmailAddress))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment