From fd14a0763ebf0bcdf6a719aafcbf73f7f5153400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Mur=C3=A9?= Date: Thu, 10 Mar 2022 16:34:57 +0100 Subject: [PATCH] entity: allow to resolve identities when numashalling operations --- 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(-) diff --git a/bug/operation.go b/bug/operation.go index b36103815233777373ccc7454a0d3c62a2bc188b..2e86921a63db6fc27e53414df33ca6ca717296cd 100644 --- a/bug/operation.go +++ b/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"` } diff --git a/entity/dag/common_test.go b/entity/dag/common_test.go index 25289b764b38943b55e3efe2d89c489ba3247a35..532e3ff8fe1a6c88f7d851a2d83ed7dce6dfb034 100644 --- a/entity/dag/common_test.go +++ b/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"` } diff --git a/entity/dag/entity.go b/entity/dag/entity.go index c43685146664ddfec9c24dae12a1251ec22cf895..60adcbe67060bdf63cad5614fcc816e4445ddcd3 100644 --- a/entity/dag/entity.go +++ b/entity/dag/entity.go @@ -26,7 +26,7 @@ type Definition struct { // the Namespace in git (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 } diff --git a/entity/dag/operation_pack.go b/entity/dag/operation_pack.go index 5d74e13fe8abc6823d3df2ae82d2d590c0a7814e..2794606ae45acbfe0afb4867e4549ebdd363e2dc 100644 --- a/entity/dag/operation_pack.go +++ b/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 }