From a5fc856764496d9f2af655c5af5a24f68a9aa2f2 Mon Sep 17 00:00:00 2001 From: Samuel Lorch Date: Wed, 19 Mar 2025 23:07:11 +0100 Subject: [PATCH] Saved Stat --- server/stats.go | 10 ++++++++++ tmpl/stats.tmpl | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/server/stats.go b/server/stats.go index 091cbd4..2b1ca0f 100644 --- a/server/stats.go +++ b/server/stats.go @@ -24,6 +24,7 @@ type StatsDisplay struct { Size []int Duration []int Count []int + Saved []int } type ChartData struct { @@ -337,6 +338,14 @@ func handleStats(w http.ResponseWriter, r *http.Request) { duration = 0 } + var saved int + err = db.QueryRow(r.Context(), + `SELECT (SUM(old_size) - COALESCE(SUM(size), 0)) AS saved + FROM files WHERE ($1 = -1 OR files.library_id = $1) AND status = $2 AND old_size NOT NULL`, id, constants.FILE_STATUS_EXISTS).Scan(&saved) + if err != nil { + saved = 0 + } + buf := bytes.Buffer{} err = templates.ExecuteTemplate(&buf, constants.STATS_TEMPLATE_NAME, StatsDisplay{ Libraries: libraries, @@ -344,6 +353,7 @@ func handleStats(w http.ResponseWriter, r *http.Request) { Size: splitInt(size), Count: splitInt(count), Duration: splitInt(duration), + Saved: splitInt(saved), Charts: data, }) if err != nil { diff --git a/tmpl/stats.tmpl b/tmpl/stats.tmpl index 0f6b149..663b5b7 100644 --- a/tmpl/stats.tmpl +++ b/tmpl/stats.tmpl @@ -44,6 +44,23 @@ {{end}} {{end}} +

Saved

+
+ {{ $l := len .Saved }} + {{range $i, $c := .Saved}} + {{$c}} + {{ $n := sub $l $i }} + {{ if eq $n 4 }} + KB + {{ else if eq $n 7 }} + MB + {{ else if eq $n 10 }} + GB + {{ else if eq $n 13 }} + TB + {{end}} + {{end}} +
{{range $c := .Charts}} {{$c.Element}} {{$c.Script}}