mirror of
https://github.com/logos-messaging/telemetry.git
synced 2026-01-02 14:13:05 +00:00
feat: add node name and message id (#3)
This commit is contained in:
parent
691d4e65b8
commit
f0eca9dad5
5
Makefile
5
Makefile
@ -19,7 +19,4 @@ lint:
|
||||
@golangci-lint --exclude=SA1019 run ./... --deadline=5m
|
||||
|
||||
test:
|
||||
go test -v -failfast ./...
|
||||
|
||||
build:
|
||||
go build -o ./build/server ./cmd/server/main.go
|
||||
go test -v -failfast ./...
|
||||
@ -31,10 +31,15 @@ func createTables(db *sql.DB) error {
|
||||
id SERIAL PRIMARY KEY,
|
||||
chatId VARCHAR(255) NOT NULL,
|
||||
messageHash VARCHAR(255) NOT NULL,
|
||||
messageId VARCHAR(255) NOT NULL,
|
||||
receiverKeyUID VARCHAR(255) NOT NULL,
|
||||
nodeName VARCHAR(255) NOT NULL,
|
||||
sentAt INTEGER NOT NULL,
|
||||
topic VARCHAR(255) NOT NULL,
|
||||
createdAt INTEGER NOT NULL
|
||||
createdAt INTEGER NOT NULL,
|
||||
|
||||
constraint receivedMessages_unique unique(chatId, messageHash, receiverKeyUID, nodeName)
|
||||
|
||||
);`
|
||||
_, err := db.Exec(sqlStmt)
|
||||
|
||||
|
||||
@ -18,14 +18,16 @@ type ReceivedMessage struct {
|
||||
ID int `json:"id"`
|
||||
ChatID string `json:"chatId"`
|
||||
MessageHash string `json:"messageHash"`
|
||||
MessageID string `json:"messageId"`
|
||||
ReceiverKeyUID string `json:"receiverKeyUID"`
|
||||
NodeName string `json:"nodeName"`
|
||||
SentAt int64 `json:"sentAt"`
|
||||
Topic string `json:"topic"`
|
||||
CreatedAt int64 `json:"createdAt"`
|
||||
}
|
||||
|
||||
func queryReceivedMessagesBetween(db *sql.DB, startsAt time.Time, endsAt time.Time) ([]*ReceivedMessage, error) {
|
||||
rows, err := db.Query(fmt.Sprintf("SELECT id, chatId, messageHash, receiverKeyUID, sentAt, topic, createdAt FROM receivedMessages WHERE sentAt BETWEEN %d and %d", startsAt.Unix(), endsAt.Unix()))
|
||||
rows, err := db.Query(fmt.Sprintf("SELECT id, chatId, messageHash, messageId, receiverKeyUID, nodeName, sentAt, topic, createdAt FROM receivedMessages WHERE sentAt BETWEEN %d and %d", startsAt.Unix(), endsAt.Unix()))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -34,7 +36,17 @@ func queryReceivedMessagesBetween(db *sql.DB, startsAt time.Time, endsAt time.Ti
|
||||
var receivedMessages []*ReceivedMessage
|
||||
for rows.Next() {
|
||||
var receivedMessage ReceivedMessage
|
||||
err = rows.Scan(&receivedMessage.ID, &receivedMessage.ChatID, &receivedMessage.MessageHash, &receivedMessage.ReceiverKeyUID, &receivedMessage.SentAt, &receivedMessage.Topic, &receivedMessage.CreatedAt)
|
||||
err = rows.Scan(
|
||||
&receivedMessage.ID,
|
||||
&receivedMessage.ChatID,
|
||||
&receivedMessage.MessageHash,
|
||||
&receivedMessage.MessageID,
|
||||
&receivedMessage.ReceiverKeyUID,
|
||||
&receivedMessage.NodeName,
|
||||
&receivedMessage.SentAt,
|
||||
&receivedMessage.Topic,
|
||||
&receivedMessage.CreatedAt,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -53,14 +65,14 @@ func didReceivedMessageAfter(db *sql.DB, receiverPublicKey string, after time.Ti
|
||||
}
|
||||
|
||||
func (r *ReceivedMessage) put(db *sql.DB) error {
|
||||
stmt, err := db.Prepare("INSERT INTO receivedMessages (chatId, messageHash, receiverKeyUID, sentAt, topic, createdAt) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id;")
|
||||
stmt, err := db.Prepare("INSERT INTO receivedMessages (chatId, messageHash, messageId, receiverKeyUID, nodeName, sentAt, topic, createdAt) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING id;")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
r.CreatedAt = time.Now().Unix()
|
||||
lastInsertId := 0
|
||||
err = stmt.QueryRow(r.ChatID, r.MessageHash, r.ReceiverKeyUID, r.SentAt, r.Topic, r.CreatedAt).Scan(&lastInsertId)
|
||||
err = stmt.QueryRow(r.ChatID, r.MessageHash, r.MessageID, r.ReceiverKeyUID, r.NodeName, r.SentAt, r.Topic, r.CreatedAt).Scan(&lastInsertId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user