package stats import ( "backend/utils" "net/http" "os" "gitea.tecamino.com/paadi/tecamino-logger/logging" "github.com/gin-gonic/gin" ) type Stats struct { Database string `json:"database,omitempty"` DatabaseSize int64 `json:"databaseSize,omitempty"` } func GetStats(c *gin.Context) { middlewareData, err := utils.GetMiddlewareData(c, "logger") if err != nil { c.JSON(http.StatusInternalServerError, gin.H{ "error": err.Error(), }) } logger, ok := middlewareData.(*logging.Logger) if !ok { c.JSON(http.StatusInternalServerError, gin.H{ "error": "middleware logger for state not defined", }) return } var stats Stats err = c.BindJSON(&stats) if err != nil { logger.Error("GetStats", err) c.JSON(http.StatusInternalServerError, nil) return } f, err := os.Stat(stats.Database) if err != nil { logger.Error("GetStats", err) c.JSON(http.StatusInternalServerError, nil) return } var returnStats = Stats{ DatabaseSize: f.Size(), } c.JSON(http.StatusOK, gin.H{ "data": returnStats, }) }