Skip to content

Commit 7caf733

Browse files
committed
Skip adding user to domain account if already exists
Signed-off-by: bcmmbaga <[email protected]>
1 parent fcd2c15 commit 7caf733

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

management/server/account.go

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1046,21 +1046,29 @@ func (am *DefaultAccountManager) addNewUserToDomainAccount(ctx context.Context,
10461046
unlockAccount := am.Store.AcquireWriteLockByUID(ctx, domainAccountID)
10471047
defer unlockAccount()
10481048

1049-
newUser := types.NewRegularUser(userAuth.UserId)
1050-
newUser.AccountID = domainAccountID
1051-
err := am.Store.SaveUser(ctx, store.LockingStrengthUpdate, newUser)
1049+
user, err := am.Store.GetUserByUserID(ctx, store.LockingStrengthShare, userAuth.UserId)
10521050
if err != nil {
1053-
return "", err
1054-
}
1051+
if sErr, ok := status.FromError(err); ok && sErr.Type() == status.NotFound {
1052+
newUser := types.NewRegularUser(userAuth.UserId)
1053+
newUser.AccountID = domainAccountID
1054+
err = am.Store.SaveUser(ctx, store.LockingStrengthUpdate, newUser)
1055+
if err != nil {
1056+
return "", err
1057+
}
1058+
1059+
err = am.addAccountIDToIDPAppMeta(ctx, userAuth.UserId, domainAccountID)
1060+
if err != nil {
1061+
return "", err
1062+
}
1063+
1064+
am.StoreEvent(ctx, userAuth.UserId, userAuth.UserId, domainAccountID, activity.UserJoined, nil)
1065+
return domainAccountID, nil
1066+
}
10551067

1056-
err = am.addAccountIDToIDPAppMeta(ctx, userAuth.UserId, domainAccountID)
1057-
if err != nil {
10581068
return "", err
10591069
}
10601070

1061-
am.StoreEvent(ctx, userAuth.UserId, userAuth.UserId, domainAccountID, activity.UserJoined, nil)
1062-
1063-
return domainAccountID, nil
1071+
return user.AccountID, nil
10641072
}
10651073

10661074
// redeemInvite checks whether user has been invited and redeems the invite

0 commit comments

Comments
 (0)