Specify invited by email when inviting a user (#1087)

This commit is contained in:
Misha Bragin
2023-08-16 23:05:22 +02:00
committed by GitHub
parent 4572c6c1f8
commit 8e3bcd57a2
10 changed files with 22 additions and 14 deletions

View File

@ -215,6 +215,12 @@ func (am *DefaultAccountManager) inviteNewUser(accountID, userID string, invite
return nil, status.Errorf(status.NotFound, "account %s doesn't exist", accountID)
}
// initiator is the one who is inviting the new user
initiatorUser, err := am.lookupUserInCache(userID, account)
if err != nil {
return nil, status.Errorf(status.NotFound, "user %s doesn't exist in IdP", userID)
}
// check if the user is already registered with this email => reject
user, err := am.lookupUserInCacheByEmail(invite.Email, accountID)
if err != nil {
@ -234,7 +240,7 @@ func (am *DefaultAccountManager) inviteNewUser(accountID, userID string, invite
return nil, status.Errorf(status.UserAlreadyExists, "can't invite a user with an existing NetBird account")
}
idpUser, err := am.idpManager.CreateUser(invite.Email, invite.Name, accountID)
idpUser, err := am.idpManager.CreateUser(invite.Email, invite.Name, accountID, initiatorUser.Email)
if err != nil {
return nil, err
}