Skip to content

Commit

Permalink
removes message struct used by cassandra
Browse files Browse the repository at this point in the history
  • Loading branch information
mflilian committed Oct 6, 2022
1 parent 7043a28 commit 1462dec
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 42 deletions.
2 changes: 1 addition & 1 deletion app/histories.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func HistoriesHandler(app *App) func(c echo.Context) error {
}

// retrieve messages
messages := make([]*models.Message, 0)
messages := make([]*models.MessageV2, 0)
collection := app.Defaults.MongoMessagesCollection

for _, topic := range authorizedTopics {
Expand Down
12 changes: 6 additions & 6 deletions app/histories_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,12 @@ func TestHistoriesHandler(t *testing.T) {
// then the messages should be returned when requested via /histories
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())
g.Assert(len(messages)).Equal(2)
g.Assert(messages[0].Payload).Equal("{\"test 0\":\"test 1\"}")
g.Assert(messages[1].Payload).Equal("{\"test 1\":\"test 2\"}")
g.Assert(messages[0].Payload["test 0"]).Equal("test 1")
g.Assert(messages[1].Payload["test 1"]).Equal("test 2")
})

g.It("It should return 200 if the user is authorized into at least one topic", func() {
Expand All @@ -89,11 +89,11 @@ func TestHistoriesHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())
g.Assert(len(messages)).Equal(1)
g.Assert(messages[0].Payload).Equal("{\"test 0\":\"test 1\"}")
g.Assert(messages[0].Payload["test 0"]).Equal("test 1")
})

g.It("It should return 401 if the user is not authorized in any topic", func() {
Expand Down Expand Up @@ -140,7 +140,7 @@ func TestHistoriesHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())
g.Assert(len(messages)).Equal(2)
Expand Down
16 changes: 8 additions & 8 deletions app/history_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func TestHistoryHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())

Expand All @@ -84,12 +84,12 @@ func TestHistoryHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())

g.Assert(len(messages)).Equal(1)
g.Assert(messages[0].Payload).Equal("{\"test 0\":\"test 1\"}")
g.Assert(messages[0].Payload["test 0"]).Equal("test 1")
})

g.It("It should return 200 and [] if the user is authorized into the topic and there are no messages", func() {
Expand All @@ -103,7 +103,7 @@ func TestHistoryHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())
})
Expand All @@ -123,7 +123,7 @@ func TestHistoryHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())
})
Expand All @@ -147,7 +147,7 @@ func TestHistoryHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2

err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())
Expand All @@ -174,7 +174,7 @@ func TestHistoryHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2

err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())
Expand All @@ -201,7 +201,7 @@ func TestHistoryHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2

err = json.Unmarshal([]byte(body), &messages)
Expect(err).To(BeNil())
Expand Down
2 changes: 1 addition & 1 deletion app/history_v2_player_support_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func TestHistoryV2PSHandler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err := json.Unmarshal([]byte(body), &messages)
g.Assert(len(messages)).Equal(0)
Expect(err).To(BeNil())
Expand Down
2 changes: 1 addition & 1 deletion app/history_v2_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func TestHistoryV2Handler(t *testing.T) {
status, body := Get(a, path, t)
g.Assert(status).Equal(http.StatusOK)

var messages []models.Message
var messages []models.MessageV2
err = json.Unmarshal([]byte(body), &messages)
g.Assert(len(messages)).Equal(0)
Expect(err).To(BeNil())
Expand Down
9 changes: 0 additions & 9 deletions models/message.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,9 @@
package models

import (
"time"

"go.mongodb.org/mongo-driver/bson"
)

// Message represents a chat message stored in Cassandra
type Message struct {
Timestamp time.Time `json:"timestamp" bson:"timestamp"`
Payload string `json:"payload" bson:"payload"`
Topic string `json:"topic" bson:"topic"`
}

// MessageV2 represents new payload for the chat message
// This payload is stored in MongoDB
// v2 endpoints return this format,
Expand Down
20 changes: 4 additions & 16 deletions mongoclient/get_messages.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ package mongoclient

import (
"context"
"encoding/json"
"fmt"
"time"

"github.com/topfreegames/mqtt-history/logger"
"github.com/topfreegames/mqtt-history/models"
Expand Down Expand Up @@ -53,23 +51,13 @@ type QueryParameters struct {
// the MessageV2 model into the Message one for retrocompatibility
// Rhe main difference being that the payload field is now referred to as "original_payload" and
// is a JSON object, not a string, and also the timestamp is int64 seconds since Unix epoch, not an ISODate
func GetMessages(ctx context.Context, queryParameters QueryParameters) []*models.Message {

func GetMessages(ctx context.Context, queryParameters QueryParameters) []*models.MessageV2 {
span, ctx := opentracing.StartSpanFromContext(ctx, "get_messages")
defer span.Finish()
searchResults := GetMessagesV2(ctx, queryParameters)
messages := make([]*models.Message, 0)
for _, result := range searchResults {
payload := result.Payload
bytes, _ := json.Marshal(payload)

finalStr := string(bytes)
message := &models.Message{
Timestamp: time.Unix(result.Timestamp, 0),
Payload: finalStr,
Topic: queryParameters.Topic,
}
messages = append(messages, message)
}
messages := make([]*models.MessageV2, 0)
messages = append(messages, searchResults...)

return messages
}
Expand Down

0 comments on commit 1462dec

Please sign in to comment.