From 511e0f9f382b176c6572a1af4f99f09681ae5879 Mon Sep 17 00:00:00 2001 From: Jan-Lukas Else Date: Mon, 8 Apr 2019 21:41:16 +0200 Subject: [PATCH] Add "useragents" view --- database.go | 4 ++++ main.go | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/database.go b/database.go index a4e2b8b..c3bd295 100644 --- a/database.go +++ b/database.go @@ -68,6 +68,7 @@ type View int const ( PAGES View = iota + 1 REFERRERS + USERAGENTS HOURS DAYS WEEKS @@ -131,6 +132,9 @@ func (request *ViewsRequest) buildStatement(filters string) (statement string) { case REFERRERS: statement = "SELECT ref as first, count(*) as second from views" + filters + "group by ref;" return + case USERAGENTS: + statement = "SELECT useragent as first, count(*) as second from views" + filters + "group by useragent;" + return case HOURS, DAYS, WEEKS, MONTHS: format := "" switch request.view { diff --git a/main.go b/main.go index 0b89edf..0d8ebbf 100644 --- a/main.go +++ b/main.go @@ -100,6 +100,8 @@ func requestStats(w http.ResponseWriter, r *http.Request) { view = PAGES case "referrers": view = REFERRERS + case "useragents": + view = USERAGENTS case "hours": view = HOURS case "days": @@ -110,11 +112,11 @@ func requestStats(w http.ResponseWriter, r *http.Request) { view = MONTHS } result, e := app.db.request(&ViewsRequest{ - view: view, - from: queries.Get("from"), - to: queries.Get("to"), - url: queries.Get("url"), - ref: queries.Get("ref"), + view: view, + from: queries.Get("from"), + to: queries.Get("to"), + url: queries.Get("url"), + ref: queries.Get("ref"), }) if e != nil { fmt.Println("Database request failed:", e)