From af691344854946222269a66c31d9dc997b7818bc Mon Sep 17 00:00:00 2001 From: Jonas Theis <mail@jonastheis.de> Date: Fri, 24 Apr 2020 10:08:03 +0200 Subject: [PATCH] Add message metadata to message/findById (#363) --- plugins/webapi/message/plugin.go | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/plugins/webapi/message/plugin.go b/plugins/webapi/message/plugin.go index 7e4ebdd3..cfd2680a 100644 --- a/plugins/webapi/message/plugin.go +++ b/plugins/webapi/message/plugin.go @@ -6,10 +6,9 @@ import ( "github.com/iotaledger/goshimmer/packages/binary/messagelayer/message" "github.com/iotaledger/goshimmer/plugins/messagelayer" "github.com/iotaledger/goshimmer/plugins/webapi" - "github.com/labstack/echo" - "github.com/iotaledger/hive.go/logger" "github.com/iotaledger/hive.go/node" + "github.com/labstack/echo" ) // PluginName is the name of the web API message endpoint plugin. @@ -51,19 +50,31 @@ func findMessageById(c echo.Context) error { if !msgObject.Exists() { continue } + msgMetadataObject := messagelayer.Tangle.MessageMetadata(msgId) + if !msgMetadataObject.Exists() { + continue + } msg := msgObject.Unwrap() + msgMetadata := msgMetadataObject.Unwrap() + msgResp := Message{ + Metadata: Metadata{ + Solid: msgMetadata.IsSolid(), + SolidificationTime: msgMetadata.SoldificationTime().Unix(), + }, Id: msg.Id().String(), TrunkId: msg.TrunkId().String(), BranchId: msg.BranchId().String(), IssuerPublicKey: msg.IssuerPublicKey().String(), - IssuingTime: msg.IssuingTime().String(), + IssuingTime: msg.IssuingTime().Unix(), SequenceNumber: msg.SequenceNumber(), Payload: msg.Payload().Bytes(), Signature: msg.Signature().String(), } result = append(result, msgResp) + + msgMetadataObject.Release() msgObject.Release() } @@ -83,12 +94,19 @@ type Request struct { // Message contains information about a given message. type Message struct { + Metadata `json:"metadata,omitempty"` Id string `json:"Id,omitempty"` TrunkId string `json:"trunkId,omitempty"` BranchId string `json:"branchId,omitempty"` IssuerPublicKey string `json:"issuerPublicKey,omitempty"` - IssuingTime string `json:"issuingTime,omitempty"` + IssuingTime int64 `json:"issuingTime,omitempty"` SequenceNumber uint64 `json:"sequenceNumber,omitempty"` Payload []byte `json:"payload,omitempty"` Signature string `json:"signature,omitempty"` } + +// Metadata contains metadata information of a message. +type Metadata struct { + Solid bool `json:"solid,omitempty"` + SolidificationTime int64 `json:"solidificationTime,omitempty"` +} -- GitLab