cleanUp: use tx.Get for getting values from DB

tx.AscendKeys can be used for collecting multiple keys, values.
In our case we only collect one key, value therefore use tx.Get
This commit is contained in:
Miltiadis Kallianis 2022-09-02 13:18:58 +02:00
parent 446865a19c
commit 219695f795

View file

@ -1,14 +1,15 @@
package z package z
import ( import (
"os" "encoding/json"
"sort" "errors"
"strings" "log"
"log" "os"
"errors" "sort"
"encoding/json" "strings"
"github.com/tidwall/buntdb"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/tidwall/buntdb"
) )
type Database struct { type Database struct {
@ -68,21 +69,20 @@ func (database *Database) AddEntry(user string, entry Entry, setRunning bool) (s
} }
func (database *Database) GetEntry(user string, entryId string) (Entry, error) { func (database *Database) GetEntry(user string, entryId string) (Entry, error) {
var entry Entry var entry Entry
dberr := database.DB.View(func(tx *buntdb.Tx) error { dberr := database.DB.View(func(tx *buntdb.Tx) error {
tx.AscendKeys(user + ":entry:" + entryId, func(key, value string) bool { value, err := tx.Get(user + ":entry:" + entryId)
json.Unmarshal([]byte(value), &entry) if err != nil {
return err
}
json.Unmarshal([]byte(value), &entry)
entry.SetIDFromDatabaseKey(key) entry.ID = entryId
return nil
})
return true return entry, dberr
})
return nil
})
return entry, dberr
} }
func (database *Database) UpdateEntry(user string, entry Entry) (string, error) { func (database *Database) UpdateEntry(user string, entry Entry) (string, error) {
@ -164,11 +164,11 @@ func (database *Database) GetRunningEntryId(user string) (string, error) {
var runningId string = "" var runningId string = ""
dberr := database.DB.View(func(tx *buntdb.Tx) error { dberr := database.DB.View(func(tx *buntdb.Tx) error {
tx.AscendKeys(user + ":status:running", func(key, value string) bool { value, err := tx.Get(user + ":status:running")
runningId = value if err != nil {
return true return err
}) }
runningId = value
return nil return nil
}) })