updated dependencies

This commit is contained in:
Tordarus 2025-02-04 22:07:45 +01:00
parent b8d946cd31
commit 8687a608f6
3 changed files with 23 additions and 20 deletions

6
go.mod
View File

@ -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

12
go.sum
View File

@ -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=

25
main.go
View File

@ -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
}