//go:build mysql // +build mysql package mysql import ( "strings" "github.com/nyaruka/phonenumbers" t "github.com/tinode/chat/server/store/types" ) func normalizeUserPhone(value string) (string, error) { value = strings.TrimSpace(strings.TrimPrefix(strings.TrimPrefix(value, "tel:"), "basic:")) if value == "" { return "", t.ErrMalformed } number, err := phonenumbers.Parse(value, "CN") if err != nil || !phonenumbers.IsValidNumber(number) { return "", t.ErrMalformed } numberType := phonenumbers.GetNumberType(number) if numberType != phonenumbers.MOBILE && numberType != phonenumbers.FIXED_LINE_OR_MOBILE { return "", t.ErrMalformed } return phonenumbers.Format(number, phonenumbers.E164), nil } func withoutUserTags(update map[string]any) map[string]any { if update == nil { return nil } clean := make(map[string]any, len(update)) for key, value := range update { if key != "Tags" && key != "tags" { clean[key] = value } } return clean }