From af4b18cecf35b5aa50352ecf05dce07697724625 Mon Sep 17 00:00:00 2001 From: Firas Qutishat Date: Wed, 22 Nov 2023 16:17:59 +0000 Subject: [PATCH] chore: change event payload to json raw (#1535) Signed-off-by: Firas Qutishat --- pkg/event/spi/spi.go | 7 ++++--- pkg/event/spi/spi_test.go | 6 +++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pkg/event/spi/spi.go b/pkg/event/spi/spi.go index a27321c08..ec43c980b 100644 --- a/pkg/event/spi/spi.go +++ b/pkg/event/spi/spi.go @@ -7,6 +7,7 @@ SPDX-License-Identifier: Apache-2.0 package spi import ( + "encoding/json" "time" utiltime "github.com/trustbloc/did-go/doc/util/time" @@ -50,7 +51,7 @@ const ( ) // Payload defines payload. -type Payload []byte +type Payload json.RawMessage // Event defines event. type Event struct { @@ -73,7 +74,7 @@ type Event struct { DataContentType string `json:"datacontenttype,omitempty"` // Data defines message(optional). - Data []byte `json:"data,omitempty"` + Data json.RawMessage `json:"data,omitempty"` // TransactionID defines transaction ID(optional). TransactionID string `json:"txnid,omitempty"` @@ -108,7 +109,7 @@ func (m *Event) Copy() *Event { func NewEventWithPayload(uuid string, source string, eventType EventType, payload Payload) *Event { event := NewEvent(uuid, source, eventType) - event.Data = payload + event.Data = json.RawMessage(payload) // vcs components always use json event.DataContentType = "application/json" diff --git a/pkg/event/spi/spi_test.go b/pkg/event/spi/spi_test.go index 8272a0ba7..712bf856f 100644 --- a/pkg/event/spi/spi_test.go +++ b/pkg/event/spi/spi_test.go @@ -7,6 +7,7 @@ SPDX-License-Identifier: Apache-2.0 package spi import ( + "encoding/json" "testing" "github.com/stretchr/testify/require" @@ -16,7 +17,10 @@ func TestEvent(t *testing.T) { event := NewEvent("id", "source", "type") require.NotNil(t, event) - eventWithPayload := NewEventWithPayload("id", "source", "type", Payload("{}")) + payload, err := json.Marshal(map[string]interface{}{"k1": "v1"}) + require.NoError(t, err) + + eventWithPayload := NewEventWithPayload("id", "source", "type", payload) require.NotNil(t, eventWithPayload) eventCopy := event.Copy()