diff options
author | Aki <please@ignore.pl> | 2023-12-31 06:18:38 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2023-12-31 06:18:38 +0100 |
commit | 121ac0b2457d5f5617916aad38f5c05d94570260 (patch) | |
tree | 790c7705bf01c063bf690cfd13791e7ecadfdc37 /entry.go | |
parent | a06e585bb3d3c67afd300cfd750d27fb3404a792 (diff) | |
download | rudone-121ac0b2457d5f5617916aad38f5c05d94570260.zip rudone-121ac0b2457d5f5617916aad38f5c05d94570260.tar.gz rudone-121ac0b2457d5f5617916aad38f5c05d94570260.tar.bz2 |
Added GET /entries?[from=N]
Endpoint name changed to plural
Diffstat (limited to 'entry.go')
-rw-r--r-- | entry.go | 21 |
1 files changed, 17 insertions, 4 deletions
@@ -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 +} |