feat: my user mfas (#264)

This commit is contained in:
Fabi
2020-06-24 10:47:11 +02:00
committed by GitHub
parent e54778828e
commit f7aed1c864
4 changed files with 36 additions and 3 deletions

View File

@@ -4,8 +4,6 @@ import (
"context"
"github.com/golang/protobuf/ptypes/empty"
"github.com/caos/zitadel/internal/errors"
)
func (s *Server) GetMyUser(ctx context.Context, _ *empty.Empty) (*UserView, error) {
@@ -49,7 +47,11 @@ func (s *Server) GetMyUserAddress(ctx context.Context, _ *empty.Empty) (*UserAdd
}
func (s *Server) GetMyMfas(ctx context.Context, _ *empty.Empty) (*MultiFactors, error) {
return nil, errors.ThrowUnimplemented(nil, "GRPC-vkl9i", "Not implemented")
mfas, err := s.repo.MyUserMfas(ctx)
if err != nil {
return nil, err
}
return &MultiFactors{Mfas: mfasFromModel(mfas)}, nil
}
func (s *Server) UpdateMyUserProfile(ctx context.Context, request *UpdateUserProfileRequest) (*UserProfile, error) {

View File

@@ -309,3 +309,29 @@ func mfaStateFromModel(state usr_model.MfaState) MFAState {
return MFAState_MFASTATE_UNSPECIFIED
}
}
func mfasFromModel(mfas []*usr_model.MultiFactor) []*MultiFactor {
converted := make([]*MultiFactor, len(mfas))
for i, mfa := range mfas {
converted[i] = mfaFromModel(mfa)
}
return converted
}
func mfaFromModel(mfa *usr_model.MultiFactor) *MultiFactor {
return &MultiFactor{
State: mfaStateFromModel(mfa.State),
Type: mfaTypeFromModel(mfa.Type),
}
}
func mfaTypeFromModel(mfatype usr_model.MfaType) MfaType {
switch mfatype {
case usr_model.MfaTypeOTP:
return MfaType_MFATYPE_OTP
case usr_model.MfaTypeSMS:
return MfaType_MFATYPE_SMS
default:
return MfaType_MFATYPE_UNSPECIFIED
}
}