summaryrefslogtreecommitdiff
path: root/entry.go
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2023-12-31 06:18:38 +0100
committerAki <please@ignore.pl>2023-12-31 06:18:38 +0100
commit121ac0b2457d5f5617916aad38f5c05d94570260 (patch)
tree790c7705bf01c063bf690cfd13791e7ecadfdc37 /entry.go
parenta06e585bb3d3c67afd300cfd750d27fb3404a792 (diff)
downloadrudone-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.go21
1 files changed, 17 insertions, 4 deletions
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
+}