Skip to content
Snippets Groups Projects
Commit 472c3f48 authored by Johan de Klerk's avatar Johan de Klerk
Browse files

Deeper object changes for audit events

parent 83358e58
No related branches found
No related tags found
No related merge requests found
......@@ -40,7 +40,7 @@ func GetChanges(original interface{}, new interface{}) (map[string]interface{},
ChildObjectChanges(changes, change.Path[0], change.Path[1], change.From, change.To)
} else if len(change.Path) == 3 {
} else if len(change.Path) >= 3 {
// Array of objects
// ["Parcel", "0", "ActualWeight"]
// 0 = Object
......@@ -51,7 +51,7 @@ func GetChanges(original interface{}, new interface{}) (map[string]interface{},
indexString := change.Path[1]
if !string_utils.IsNumericString(indexString) {
// Not an array, but an deeper nested object
// Not an array, but a deeper nested object
ChildObjectChanges(changes, change.Path[len(change.Path)-2], change.Path[len(change.Path)-1], change.From, change.To)
continue
}
......
package audit
import (
"encoding/json"
"fmt"
"testing"
)
type MockObject struct {
Object interface{}
}
func TestGetChanges(t *testing.T) {
object1 := MockObject{
Object: MockObject{
Object: MockObject{
Object: MockObject{
Object: MockObject{
Object: "done",
},
},
},
},
}
object2 := MockObject{
Object: MockObject{
Object: MockObject{
Object: MockObject{
Object: MockObject{
Object: "done1",
},
},
},
},
}
changes, err := GetChanges(object1, object2)
if err != nil {
panic(err)
}
result, _ := json.Marshal(changes)
fmt.Println(result)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment