From b5d08e7908efaa2d9eae9a3d52249bbb51be0761 Mon Sep 17 00:00:00 2001 From: bt Date: Sat, 16 May 2026 18:06:39 +0200 Subject: Add "read" command to daemon CLI --- storage/storage.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'storage') 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, ×tamp, &msg.Content); err != nil { return history, err } + msg.Timestamp = time.Unix(timestamp, 0) + history = append(history, msg) } -- cgit v1.2.3