mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-06 19:36:41 +00:00
chore: move converter methods users v2 to separate converter package + add tests (#10567)
# Which Problems Are Solved As requested by @adlerhurst in https://github.com/zitadel/zitadel/pull/10415#discussion_r2298087711 , I am moving the refactoring of v2 user converter methods to a separate PR # How the Problems Are Solved Cherry-pick648c234caf# Additional Context Parent of https://github.com/zitadel/zitadel/pull/10415 (cherry picked from commitb604615cab)
This commit is contained in:
61
internal/api/grpc/user/v2/convert/human.go
Normal file
61
internal/api/grpc/user/v2/convert/human.go
Normal file
@@ -0,0 +1,61 @@
|
||||
package convert
|
||||
|
||||
import (
|
||||
"github.com/muhlemmer/gu"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/query"
|
||||
"github.com/zitadel/zitadel/pkg/grpc/user/v2"
|
||||
)
|
||||
|
||||
func humanToPb(userQ *query.Human, assetPrefix, owner string) *user.HumanUser {
|
||||
if userQ == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
var passwordChanged, mfaInitSkipped *timestamppb.Timestamp
|
||||
if !userQ.PasswordChanged.IsZero() {
|
||||
passwordChanged = timestamppb.New(userQ.PasswordChanged)
|
||||
}
|
||||
if !userQ.MFAInitSkipped.IsZero() {
|
||||
mfaInitSkipped = timestamppb.New(userQ.MFAInitSkipped)
|
||||
}
|
||||
return &user.HumanUser{
|
||||
Profile: &user.HumanProfile{
|
||||
GivenName: userQ.FirstName,
|
||||
FamilyName: userQ.LastName,
|
||||
NickName: gu.Ptr(userQ.NickName),
|
||||
DisplayName: gu.Ptr(userQ.DisplayName),
|
||||
PreferredLanguage: gu.Ptr(userQ.PreferredLanguage.String()),
|
||||
Gender: gu.Ptr(genderToPb(userQ.Gender)),
|
||||
AvatarUrl: domain.AvatarURL(assetPrefix, owner, userQ.AvatarKey),
|
||||
},
|
||||
Email: &user.HumanEmail{
|
||||
Email: string(userQ.Email),
|
||||
IsVerified: userQ.IsEmailVerified,
|
||||
},
|
||||
Phone: &user.HumanPhone{
|
||||
Phone: string(userQ.Phone),
|
||||
IsVerified: userQ.IsPhoneVerified,
|
||||
},
|
||||
PasswordChangeRequired: userQ.PasswordChangeRequired,
|
||||
PasswordChanged: passwordChanged,
|
||||
MfaInitSkipped: mfaInitSkipped,
|
||||
}
|
||||
}
|
||||
|
||||
func genderToPb(gender domain.Gender) user.Gender {
|
||||
switch gender {
|
||||
case domain.GenderDiverse:
|
||||
return user.Gender_GENDER_DIVERSE
|
||||
case domain.GenderFemale:
|
||||
return user.Gender_GENDER_FEMALE
|
||||
case domain.GenderMale:
|
||||
return user.Gender_GENDER_MALE
|
||||
case domain.GenderUnspecified:
|
||||
return user.Gender_GENDER_UNSPECIFIED
|
||||
default:
|
||||
return user.Gender_GENDER_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user