From 121ac0b2457d5f5617916aad38f5c05d94570260 Mon Sep 17 00:00:00 2001 From: Aki Date: Sun, 31 Dec 2023 06:18:38 +0100 Subject: Added GET /entries?[from=N] Endpoint name changed to plural --- entry.go | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'entry.go') diff --git a/entry.go b/entry.go index ed22141..2a55130 100644 --- a/entry.go +++ b/entry.go @@ -20,9 +20,9 @@ CREATE TABLE IF NOT EXISTS entries ( );` type Entry struct { - Id int `db:"id"` + Id int `json:"-" db:"id"` Location string `json:"location" db:"location"` - Referrer string `json:"referrer" db:"referrer"` + Referrer string `json:"referrer,omitempty" db:"referrer"` StartedAt time.Time `json:"startedAt" db:"started_at"` TimeSpent int `json:"timeSpent" db:"time_spent"` ScrolledTo float32 `json:"scrolledTo" db:"scrolled_to"` @@ -36,13 +36,11 @@ func InitEntries() { log.Println("Defaulting to STATSDB=./stats.db") file = "./stats.db" } - var err error db, err = sqlx.Connect("sqlite3", file) if err != nil { log.Fatalln(err) } - _, err = db.Exec(schema) if err != nil { log.Fatalln("Could not initialize schema") @@ -61,3 +59,18 @@ func InsertEntry(entry *Entry) error { _, err := db.NamedExec(query, entry) return err } + +func CountEntries() (count uint, err error) { + err = db.Get(&count, "SELECT COUNT(*) FROM entries;") + return +} + +func AllEntries() (entries []Entry, err error) { + err = db.Select(&entries, "SELECT * FROM entries;") + return +} + +func ListEntries(from, count uint) (entries []Entry, err error) { + err = db.Select(&entries, "SELECT * FROM entries LIMIT ? OFFSET ?;", count, from) + return +} -- cgit v1.1