fix: add avatar url in members, user grants, session and oidc responses (#1852)

* fix: add avatar url in members, user grants, session and oidc responses

* fix auth request tests
This commit is contained in:
Livio Amstutz
2021-06-11 13:20:39 +02:00
committed by GitHub
parent 1e77b8aeae
commit 770994e143
55 changed files with 368 additions and 207 deletions

View File

@@ -9,6 +9,7 @@ import (
"github.com/lib/pq"
req_model "github.com/caos/zitadel/internal/auth_request/model"
"github.com/caos/zitadel/internal/domain"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/v1/models"
iam_model "github.com/caos/zitadel/internal/iam/model"
@@ -135,7 +136,7 @@ func (m *MachineView) IsZero() bool {
return m == nil || m.Name == ""
}
func UserToModel(user *UserView) *model.UserView {
func UserToModel(user *UserView, prefixAvatarURL string) *model.UserView {
userView := &model.UserView{
ID: user.ID,
UserName: user.UserName,
@@ -160,6 +161,7 @@ func UserToModel(user *UserView) *model.UserView {
NickName: user.NickName,
DisplayName: user.DisplayName,
AvatarKey: user.AvatarKey,
AvatarURL: domain.AvatarURL(prefixAvatarURL, user.ResourceOwner, user.AvatarKey),
PreferredLanguage: user.PreferredLanguage,
Gender: model.Gender(user.Gender),
Email: user.Email,
@@ -187,10 +189,10 @@ func UserToModel(user *UserView) *model.UserView {
return userView
}
func UsersToModel(users []*UserView) []*model.UserView {
func UsersToModel(users []*UserView, prefixAvatarURL string) []*model.UserView {
result := make([]*model.UserView, len(users))
for i, p := range users {
result[i] = UserToModel(p)
result[i] = UserToModel(p, prefixAvatarURL)
}
return result
}
@@ -340,7 +342,7 @@ func (u *UserView) AppendEvent(event *models.Event) (err error) {
es_model.InitializedHumanCheckSucceeded:
u.InitRequired = false
case es_model.HumanAvatarAdded:
u.setData(event)
err = u.setData(event)
case es_model.HumanAvatarRemoved:
u.AvatarKey = ""
}

View File

@@ -7,6 +7,7 @@ import (
"github.com/caos/logging"
req_model "github.com/caos/zitadel/internal/auth_request/model"
"github.com/caos/zitadel/internal/domain"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/user/model"
@@ -51,7 +52,7 @@ func UserSessionFromEvent(event *models.Event) (*UserSessionView, error) {
return v, nil
}
func UserSessionToModel(userSession *UserSessionView) *model.UserSessionView {
func UserSessionToModel(userSession *UserSessionView, prefixAvatarURL string) *model.UserSessionView {
return &model.UserSessionView{
ChangeDate: userSession.ChangeDate,
CreationDate: userSession.CreationDate,
@@ -63,6 +64,7 @@ func UserSessionToModel(userSession *UserSessionView) *model.UserSessionView {
LoginName: userSession.LoginName,
DisplayName: userSession.DisplayName,
AvatarKey: userSession.AvatarKey,
AvatarURL: domain.AvatarURL(prefixAvatarURL, userSession.ResourceOwner, userSession.AvatarKey),
SelectedIDPConfigID: userSession.SelectedIDPConfigID,
PasswordVerification: userSession.PasswordVerification,
PasswordlessVerification: userSession.PasswordlessVerification,
@@ -75,10 +77,10 @@ func UserSessionToModel(userSession *UserSessionView) *model.UserSessionView {
}
}
func UserSessionsToModel(userSessions []*UserSessionView) []*model.UserSessionView {
func UserSessionsToModel(userSessions []*UserSessionView, prefixAvatarURL string) []*model.UserSessionView {
result := make([]*model.UserSessionView, len(userSessions))
for i, s := range userSessions {
result[i] = UserSessionToModel(s)
result[i] = UserSessionToModel(s, prefixAvatarURL)
}
return result
}