package graph import ( "encoding/base64" "encoding/json" "git.wecise.com/wecise/util/merrs" "github.com/spf13/cast" ) 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 } func ToNodeId(classaliasname string, suid string) string { suid64 := base64.RawURLEncoding.EncodeToString([]byte(suid)) return classaliasname + ":" + suid64 }