diff --git a/root.go b/root.go index 2eab5a16d57267a8dab5e0cd597d04a61f06b16e..1edbf0a9c3062862c82e9879dd1bac74b2772911 100644 --- a/root.go +++ b/root.go @@ -1,9 +1,13 @@ package main import ( + "fmt" "io" "log" "net/http" + "text/template" + + "github.com/dgraph-io/badger/v3" ) func (m model) root(writer http.ResponseWriter, request *http.Request) { @@ -22,6 +26,37 @@ func (m model) root(writer http.ResponseWriter, request *http.Request) { if err != nil { log.Fatalln(err) } - io.WriteString(writer, string(dash)) + tmpl, err := template.New("authenticated").Parse(string(dash)) + tmpl.Execute(writer, m.genTable()) + } +} + +func (m model) genTable() string { + var table string + err := m.database.View(func(txn *badger.Txn) error { + opts := badger.DefaultIteratorOptions + opts.PrefetchSize = 10 + iterator := txn.NewIterator(opts) + defer iterator.Close() + for iterator.Rewind(); iterator.Valid(); iterator.Next() { + item := iterator.Item() + k := item.Key() + err := item.Value(func(v []byte) error { + table = table + fmt.Sprintf(` +

%s

+

%s

+ +`, k, v) + return nil + }) + if err != nil { + return err + } + } + return nil + }) + if err != nil { + return err.Error() } + return table }