Files
ArinDash/apis/pihole/stats.go
T
2026-10-04 17:52:40 +02:00

43 lines
923 B
Go

package pihole
import (
"encoding/json"
)
type Summary struct {
Queries Queries `json:"queries"`
Clients Clients `json:"clients"`
Gravity Gravity `json:"gravity"`
}
type Queries struct {
Total int64 `json:"total"`
Blocked int64 `json:"blocked"`
PercentBlocked float64 `json:"percent_blocked"`
UniqueDomains int64 `json:"unique_domains"`
Forwarded int64 `json:"forwarded"`
Cached int64 `json:"cached"`
Frequency float64 `json:"frequency"`
}
type Clients struct {
Active int64 `json:"active"`
Total int64 `json:"total"`
}
type Gravity struct {
DomainsBeingBlocked int64 `json:"domains_being_blocked"`
LastUpdated int64 `json:"last_updated"`
}
func (ph *PiHConnector) Summary() Summary {
summary := Summary{}
response := ph.get("stats/summary")
err := json.Unmarshal(response, &summary)
if err != nil {
summary = Summary{}
}
return summary
}