package graph import ( "encoding/json" "regexp" "github.com/spf13/cast" "github.com/wecisecode/util/merrs" ) func GetNodeId(classaliasname string, data map[string]any) (oid, suid string, err error) { uid := data["uniqueId"] if uid == nil { uid = data["UNIQUEID"] if uid == nil { databs, _ := json.MarshalIndent(data, "", " ") return "", "", merrs.NewError("not found uniqueid in data ", merrs.SSMap{"data": string(databs)}) } } suid = cast.ToString(uid) if suid == "" { databs, _ := json.MarshalIndent(data, "", " ") return "", "", merrs.NewError("not found valid uniqueid in data ", merrs.SSMap{"data": string(databs)}) } return ToNodeId(classaliasname, suid), suid, nil } var respace = regexp.MustCompile(`\s`) func ToNodeId(classaliasname string, suid string) string { // suid64 := base64.RawURLEncoding.EncodeToString([]byte(suid)) suid64 := respace.ReplaceAllString(suid, "") return classaliasname + ":" + suid64 }