MCPcopy Create free account
hub / github.com/bytebase/bytebase / getGroupMember

Method getGroupMember

backend/api/directory-sync/webhook.go:892–918  ·  view source on GitHub ↗
(ctx context.Context, memberValue any)

Source from the content-addressed store, hash-verified

890}
891
892func (s *Service) getGroupMember(ctx context.Context, memberValue any) (*storepb.GroupMember, error) {
893 var scimMember SCIMMember
894 bytes, err := json.Marshal(memberValue)
895 if err != nil {
896 return nil, err
897 }
898 if err := json.Unmarshal(bytes, &scimMember); err != nil {
899 return nil, err
900 }
901
902 uid, err := strconv.Atoi(scimMember.Value)
903 if err != nil {
904 return nil, err
905 }
906 user, err := s.store.GetUserByID(ctx, uid)
907 if err != nil {
908 return nil, err
909 }
910 if user == nil {
911 return nil, errors.Errorf("cannot find user %v", uid)
912 }
913
914 return &storepb.GroupMember{
915 Member: common.FormatUserEmail(user.Email),
916 Role: storepb.GroupMember_MEMBER,
917 }, nil
918}
919
920// updateUserFromSCIM updates an existing user with data from SCIMUser.
921// Used by both POST (when user exists) and PUT operations.

Callers 2

updateGroupFromSCIMMethod · 0.95

Calls 4

FormatUserEmailFunction · 0.92
UnmarshalMethod · 0.80
GetUserByIDMethod · 0.80
ErrorfMethod · 0.80

Tested by

no test coverage detected