Merge pull request #763 from MichaelMure/resolve-entity

Michael Muré created

entity: allow to resolve identities when numashalling operations

Change summary

bug/operation.go             | 2 +-
entity/dag/common_test.go    | 2 +-
entity/dag/entity.go         | 2 +-
entity/dag/operation_pack.go | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)

Detailed changes

bug/operation.go 🔗

@@ -71,7 +71,7 @@ func idOperation(op Operation, base *OpBase) entity.Id {
 	return base.id
 }
 
-func operationUnmarshaller(author identity.Interface, raw json.RawMessage) (dag.Operation, error) {
+func operationUnmarshaller(author identity.Interface, raw json.RawMessage, resolver identity.Resolver) (dag.Operation, error) {
 	var t struct {
 		OperationType OperationType `json:"type"`
 	}

entity/dag/common_test.go 🔗

@@ -67,7 +67,7 @@ func (o *op2) Author() identity.Interface {
 	return o.author
 }
 
-func unmarshaler(author identity.Interface, raw json.RawMessage) (Operation, error) {
+func unmarshaler(author identity.Interface, raw json.RawMessage, resolver identity.Resolver) (Operation, error) {
 	var t struct {
 		OperationType int `json:"type"`
 	}

entity/dag/entity.go 🔗

@@ -26,7 +26,7 @@ type Definition struct {
 	// the Namespace in git references (bugs, prs, ...)
 	Namespace string
 	// a function decoding a JSON message into an Operation
-	OperationUnmarshaler func(author identity.Interface, raw json.RawMessage) (Operation, error)
+	OperationUnmarshaler func(author identity.Interface, raw json.RawMessage, resolver identity.Resolver) (Operation, error)
 	// the expected format version number, that can be used for data migration/upgrade
 	FormatVersion uint
 }

entity/dag/operation_pack.go 🔗

@@ -314,7 +314,7 @@ func unmarshallPack(def Definition, resolver identity.Resolver, data []byte) ([]
 
 	for _, raw := range aux.Operations {
 		// delegate to specialized unmarshal function
-		op, err := def.OperationUnmarshaler(author, raw)
+		op, err := def.OperationUnmarshaler(author, raw, resolver)
 		if err != nil {
 			return nil, nil, err
 		}