diff options
author | Joop Kiefte <ikojba@gmail.com> | 2021-12-11 01:09:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-11 01:09:24 +0000 |
commit | 324bf3196ef7bf24b098f8444718cdc52c87f230 (patch) | |
tree | f8a443affd31c3dd1ef1bf4bf68b1dcb02cd1b62 /main.go | |
parent | 06855381f1a6e6fcd6a92b8e78ced65c45936673 (diff) |
Add rudimentary read option
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 71 |
1 files changed, 45 insertions, 26 deletions
@@ -102,9 +102,47 @@ func GetDatabase() *sql.DB { return DB } +func GetMessagesFromDatabase(db *sql.DB) message.Messages { + // Get all messages from the database + rows, err := db.Query("SELECT hash, message, nonce, timestamp FROM messages") + if err != nil { + fmt.Println(err) + } + defer rows.Close() + // Create a new Messages object + msgs := message.Messages{} + // Loop through all messages + fmt.Println("Getting messages from database...") + for rows.Next() { + var hash, msg string + var nonce int + var timestamp int64 + // Get the values from the database + err := rows.Scan(&hash, &msg, &nonce, ×tamp) + if err != nil { + fmt.Println(err) + } + fmt.Println("Got message from database:", hash) + + // Create a new message object + m := message.Message{ + Message: msg, + Nonce: nonce, + Timestamp: timestamp, + } + // Add the message to the Messages object + fmt.Println("Adding message to Messages object...") + msgs[hash] = &m + } + return msgs +} + func ReadMessages() { - // TODO: Read messages from PubSub topic "OLN" - fmt.Println("Reading messages...") + // Show all messages in LocalMessages + fmt.Println("Local messages:") + for _, m := range LocalMessages { + fmt.Println(m) + } } func WriteMessage() { @@ -135,31 +173,9 @@ func SyncMessages() { } fmt.Println("Now loading messages from database...") - // Get the messages from the database in a new Messages object - var messages = message.Messages{} - rows, err := db.Query("SELECT * FROM messages") - if err != nil { - fmt.Println(err) - } - for rows.Next() { - var hash, msg string - var nonce int - var timestamp int64 - fmt.Println("Reading message...") - err := rows.Scan(&hash, &msg, &nonce, ×tamp) - if err != nil { - fmt.Println(err) - } - fmt.Println("Message", hash, "loaded") - - m := message.Message{ - Message: msg, - Nonce: nonce, - Timestamp: timestamp, - } + // Get the messages from the database + messages := GetMessagesFromDatabase(db) - messages[hash] = &m - } fmt.Println("Messages loaded from database") // Add the messages to the IPFS network cid, err := messages.AddToIPFS() @@ -168,6 +184,9 @@ func SyncMessages() { } else { fmt.Println("Messages synced to IPFS: ", cid) } + + // Set LocalMessages to the messages that are in the database + LocalMessages = messages } func TestIPFSGateway(gateway string) error { |