summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorbt <bt@rctt.net>2026-05-16 18:06:39 +0200
committerbt <bt@rctt.net>2026-05-16 22:46:48 +0200
commitb5d08e7908efaa2d9eae9a3d52249bbb51be0761 (patch)
tree6b055fd9d69d89008c34b265d4bcc2b7a756ba33 /storage
parentc363f6fd9c643db33941209a6e834c908165bbe3 (diff)
downloadsolec-b5d08e7908efaa2d9eae9a3d52249bbb51be0761.tar.gz
solec-b5d08e7908efaa2d9eae9a3d52249bbb51be0761.zip
Add "read" command to daemon CLI
Diffstat (limited to 'storage')
-rw-r--r--storage/storage.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/storage/storage.go b/storage/storage.go
index 9207761..0103370 100644
--- a/storage/storage.go
+++ b/storage/storage.go
@@ -3,6 +3,7 @@ package storage
import (
"database/sql"
"fmt"
+ "log"
"time"
"go.rctt.net/solec/core"
@@ -43,7 +44,11 @@ func (db *Database) Read(channel string, since time.Time, num int, offset int) (
"SELECT source, target, timestamp, content FROM messages WHERE timestamp > ? LIMIT ? OFFSET ?",
since.Unix(), num, offset,
)
- defer rows.Close()
+ defer func() {
+ if err := rows.Close(); err != nil {
+ log.Println("cannot close database row:", err)
+ }
+ }()
if err != nil {
return history, err
@@ -51,9 +56,12 @@ func (db *Database) Read(channel string, since time.Time, num int, offset int) (
for rows.Next() {
var msg core.Message
- if err := rows.Scan(&msg.Source, &msg.Target, &msg.Timestamp, &msg.Content); err != nil {
+ var timestamp int64
+ if err := rows.Scan(&msg.Source, &msg.Target, &timestamp, &msg.Content); err != nil {
return history, err
}
+ msg.Timestamp = time.Unix(timestamp, 0)
+
history = append(history, msg)
}