package handlers
import (
"net/http"
"github.com/bestruirui/octopus/internal/op"
"github.com/bestruirui/octopus/internal/server/middleware"
"github.com/bestruirui/octopus/internal/server/resp"
"github.com/bestruirui/octopus/internal/server/router"
"github.com/gin-gonic/gin"
)
func init() {
router.NewGroupRouter("/api/v1/stats").
Use(middleware.Auth()).
AddRoute(
router.NewRoute("/today", http.MethodGet).
Handle(getStatsToday),
).
AddRoute(
router.NewRoute("/daily", http.MethodGet).
Handle(getStatsDaily),
).
AddRoute(
router.NewRoute("/hourly", http.MethodGet).
Handle(getStatsHourly),
).
AddRoute(
router.NewRoute("/total", http.MethodGet).
Handle(getStatsTotal),
).
AddRoute(
router.NewRoute("/apikey", http.MethodGet).
Handle(getStatsAPIKey),
)
}
func getStatsToday(c *gin.Context) {
resp.Success(c, op.StatsTodayGet())
}
func getStatsDaily(c *gin.Context) {
statsDaily, err := op.StatsGetDaily(c.Request.Context())
if err != nil {
resp.Error(c, http.StatusInternalServerError, err.Error())
return
}
resp.Success(c, statsDaily)
}
func getStatsHourly(c *gin.Context) {
resp.Success(c, op.StatsHourlyGet())
}
func getStatsTotal(c *gin.Context) {
resp.Success(c, op.StatsTotalGet())
}
func getStatsAPIKey(c *gin.Context) {
resp.Success(c, op.StatsAPIKeyList())
}