first
This commit is contained in:
commit
f4be03ceba
1826 changed files with 830924 additions and 0 deletions
53
backend/internal/api/handlers/stats.go
Normal file
53
backend/internal/api/handlers/stats.go
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/imc-vibe/backend/internal/db"
|
||||
)
|
||||
|
||||
type StatsHandler struct {
|
||||
db *db.DB
|
||||
}
|
||||
|
||||
func NewStatsHandler(database *db.DB) *StatsHandler {
|
||||
return &StatsHandler{db: database}
|
||||
}
|
||||
|
||||
type Stats struct {
|
||||
TotalDomains int `json:"totalDomains"`
|
||||
TotalUsers int `json:"totalUsers"`
|
||||
TotalAliases int `json:"totalAliases"`
|
||||
QueueSize int `json:"queueSize"`
|
||||
}
|
||||
|
||||
func (h *StatsHandler) Get(w http.ResponseWriter, r *http.Request) {
|
||||
if r.Method != http.MethodGet {
|
||||
Error(w, http.StatusMethodNotAllowed, "method not allowed")
|
||||
return
|
||||
}
|
||||
|
||||
domains, err := h.db.GetAllDomains()
|
||||
if err != nil {
|
||||
domains = []db.DomainStats{}
|
||||
}
|
||||
|
||||
users, err := h.db.GetAllUsers()
|
||||
if err != nil {
|
||||
users = []db.User{}
|
||||
}
|
||||
|
||||
aliases, err := h.db.GetAllAliases()
|
||||
if err != nil {
|
||||
aliases = []db.AliasWithDomain{}
|
||||
}
|
||||
|
||||
stats := Stats{
|
||||
TotalDomains: len(domains),
|
||||
TotalUsers: len(users),
|
||||
TotalAliases: len(aliases),
|
||||
QueueSize: 0,
|
||||
}
|
||||
|
||||
Success(w, stats)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue