From 8687a608f6dd65b162ab900506ecb48b426505b5 Mon Sep 17 00:00:00 2001 From: Tordarus Date: Tue, 4 Feb 2025 22:07:45 +0100 Subject: [PATCH] updated dependencies --- go.mod | 6 +++--- go.sum | 12 ++++++------ main.go | 25 ++++++++++++++----------- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index c9bf533..8f0b729 100644 --- a/go.mod +++ b/go.mod @@ -3,11 +3,11 @@ module git.tordarus.net/tordarus/omada-bandwidth go 1.23.5 require ( - git.tordarus.net/tordarus/channel v0.1.18 + git.tordarus.net/tordarus/channel v0.1.19 git.tordarus.net/tordarus/envvars v0.0.0-20250114175450-d73e12b838a5 git.tordarus.net/tordarus/gmath v0.0.7 - git.tordarus.net/tordarus/omada-api v0.0.7 - git.tordarus.net/tordarus/slices v0.0.13 + git.tordarus.net/tordarus/omada-api v0.0.8 + git.tordarus.net/tordarus/slices v0.0.14 ) require git.tordarus.net/tordarus/ezhttp v0.0.5 // indirect diff --git a/go.sum b/go.sum index a253b21..fe4e475 100644 --- a/go.sum +++ b/go.sum @@ -1,12 +1,12 @@ -git.tordarus.net/tordarus/channel v0.1.18 h1:/9BDbkyXbVpFB+dQbToniX6g/ApBnzjslYt4NiycMQo= -git.tordarus.net/tordarus/channel v0.1.18/go.mod h1:8/dWFTdGO7g4AeSZ7cF6GerkGbe9c4dBVMVDBxOd9m4= +git.tordarus.net/tordarus/channel v0.1.19 h1:d9xnSwFyvBh4B1/82mt0A7Gpm2nIZJTc+9ceJMIOu5Q= +git.tordarus.net/tordarus/channel v0.1.19/go.mod h1:8/dWFTdGO7g4AeSZ7cF6GerkGbe9c4dBVMVDBxOd9m4= git.tordarus.net/tordarus/envvars v0.0.0-20250114175450-d73e12b838a5 h1:rKNDX/YGunqg8TEU6q1rgS2BcDKVmUW2cg61JOE/wws= git.tordarus.net/tordarus/envvars v0.0.0-20250114175450-d73e12b838a5/go.mod h1:/qVGwrEmqtIrZyuuoIQl4vquSkPWUNJmlGNedDrdYfg= git.tordarus.net/tordarus/ezhttp v0.0.5 h1:pxfEdfDeOHT/ATXYy5OQHmeBIho121SBuFvU4ISQ7w0= git.tordarus.net/tordarus/ezhttp v0.0.5/go.mod h1:Zq9o0Hibny61GqSCwJHa0PfGjVoUFv/zt2PjiQHXvmY= git.tordarus.net/tordarus/gmath v0.0.7 h1:tR48idt9AUL0r556ww3ZxByTKJEr6NWCTlhl2ihzYxQ= git.tordarus.net/tordarus/gmath v0.0.7/go.mod h1:mO7aPlvNrGVE9UFXEuuACjZgMDsM63l3OcQy6xSQnoE= -git.tordarus.net/tordarus/omada-api v0.0.7 h1:6NNrIwfYmU0plTnmjv+ZZIGL9BbFPy576BCDLEGHkFo= -git.tordarus.net/tordarus/omada-api v0.0.7/go.mod h1:yonkZu3ZP3V+SmpsEVxGmwo42Q+EBvc05LtRcrBy2V0= -git.tordarus.net/tordarus/slices v0.0.13 h1:S/6PtIxAtERwlyQvZAZZaq6RVo2kLrAsrA+19ThRRvY= -git.tordarus.net/tordarus/slices v0.0.13/go.mod h1:RgE7A1aSAezIvPUgcbUuMHu0q4xGKoRevT+DC0eJmwI= +git.tordarus.net/tordarus/omada-api v0.0.8 h1:AeqWKOFc5Y+//ZlvKfa2/iFS12AGNhz6M0GZDwY/vs8= +git.tordarus.net/tordarus/omada-api v0.0.8/go.mod h1:Jhir1H/rTGVrl89TZ66NhESlUX33K/zua3FxwkgRCsc= +git.tordarus.net/tordarus/slices v0.0.14 h1:Jy1VRMs777WewJ7mxTgjyQIMm/Zr+co18/XoQ01YZ3A= +git.tordarus.net/tordarus/slices v0.0.14/go.mod h1:RgE7A1aSAezIvPUgcbUuMHu0q4xGKoRevT+DC0eJmwI= diff --git a/main.go b/main.go index 9f3de49..754f1f3 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,6 @@ package main import ( - "context" "encoding/json" "fmt" "net/http" @@ -51,13 +50,12 @@ func main() { panic(err) } - go api.MustAutoRefresh(context.Background(), FlagRefreshBeforeExpiration) go StartHttpServer() - sites := slices.Filter( - channel.ToSlice(omada.PanicOnError(api.GetSites())), + sites := slices.Ref(slices.Filter( + channel.ToSlice(channel.Map(api.GetSites(), channel.Result[omadamodel.Site].GetUnsafe)), FilterSitesByName(FlagSiteNames...), - ) + )) ticker := time.NewTicker(FlagRefreshInterval) @@ -75,9 +73,14 @@ func CalculateSiteTraffic(api *omada.Api, sites []*omadamodel.Site, duration tim for _, site := range sites { trafficByClient := map[string]TrafficRate{} - clients := channel.ToSlice(omada.PanicOnError(api.GetClients(site.ID))) - for _, client := range clients { - traffic := CalculateClientTraffic(site, client, duration) + clientRequests := channel.ToSlice(api.GetClients(site.ID)) + for _, clientReq := range clientRequests { + client, err := clientReq.Get() + if err != nil { + panic(err) + } + + traffic := CalculateClientTraffic(site, &client, duration) trafficByClient[client.Name] = traffic } @@ -87,14 +90,14 @@ func CalculateSiteTraffic(api *omada.Api, sites []*omadamodel.Site, duration tim return NewTrafficStats(siteTraffics) } -func FilterSitesByName(allowedSiteNames ...string) func(site *omadamodel.Site) bool { +func FilterSitesByName(allowedSiteNames ...string) func(site omadamodel.Site) bool { if len(allowedSiteNames) == 0 { - return func(site *omadamodel.Site) bool { return true } + return func(site omadamodel.Site) bool { return true } } siteNames := slices.ToStructMap(allowedSiteNames) - return func(site *omadamodel.Site) bool { + return func(site omadamodel.Site) bool { _, ok := siteNames[site.Name] return ok }