diff --git a/cmd/waku/server/rest/message.go b/cmd/waku/server/rest/message.go index 55521ac0..3784ecf8 100644 --- a/cmd/waku/server/rest/message.go +++ b/cmd/waku/server/rest/message.go @@ -13,6 +13,7 @@ type RestWakuMessage struct { Version *uint32 `json:"version,omitempty"` Timestamp *int64 `json:"timestamp,omitempty"` Meta []byte `json:"meta,omitempty"` + Ephemeral *bool `json:"ephemeral"` } func (r *RestWakuMessage) FromProto(input *pb.WakuMessage) error { @@ -25,6 +26,7 @@ func (r *RestWakuMessage) FromProto(input *pb.WakuMessage) error { r.Timestamp = input.Timestamp r.Version = input.Version r.Meta = input.Meta + r.Ephemeral = input.Ephemeral return nil } @@ -40,6 +42,7 @@ func (r *RestWakuMessage) ToProto() (*pb.WakuMessage, error) { Version: r.Version, Timestamp: r.Timestamp, Meta: r.Meta, + Ephemeral: r.Ephemeral, } return msg, nil diff --git a/cmd/waku/server/rest/relay_test.go b/cmd/waku/server/rest/relay_test.go index c0d54fed..24aedb7e 100644 --- a/cmd/waku/server/rest/relay_test.go +++ b/cmd/waku/server/rest/relay_test.go @@ -126,11 +126,12 @@ func TestRelayGetV1Messages(t *testing.T) { // Wait for the subscription to be started time.Sleep(1 * time.Second) - + ephemeral := true msg := &RestWakuMessage{ Payload: []byte{1, 2, 3}, ContentTopic: "test", Timestamp: utils.GetUnixEpoch(), + Ephemeral: &ephemeral, } msgJsonBytes, err := json.Marshal(msg) require.NoError(t, err) @@ -152,6 +153,7 @@ func TestRelayGetV1Messages(t *testing.T) { err = json.Unmarshal(rr.Body.Bytes(), &messages) require.NoError(t, err) require.Len(t, messages, 1) + require.Equal(t, *messages[0].Ephemeral, true) rr = httptest.NewRecorder() req, _ = http.NewRequest(http.MethodGet, "/relay/v1/messages/test", bytes.NewReader([]byte{}))