page + upload queue + folders
This commit is contained in:
@@ -1,14 +1,44 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/vaultdrop/backend/pkg/api"
|
||||
)
|
||||
|
||||
type HealthHandler struct {
|
||||
db *sql.DB
|
||||
ocr interface{ HealthCheck() error }
|
||||
}
|
||||
|
||||
func (h *HealthHandler) Check(c *gin.Context) {
|
||||
api.Success(c, gin.H{"status": "healthy"})
|
||||
checks := gin.H{}
|
||||
|
||||
dbErr := h.db.Ping()
|
||||
if dbErr != nil {
|
||||
checks["database"] = "error: " + dbErr.Error()
|
||||
} else {
|
||||
checks["database"] = "ok"
|
||||
}
|
||||
|
||||
ocrErr := h.ocr.HealthCheck()
|
||||
if ocrErr != nil {
|
||||
checks["ocr"] = "error: " + ocrErr.Error()
|
||||
} else {
|
||||
checks["ocr"] = "ok"
|
||||
}
|
||||
|
||||
status := "healthy"
|
||||
for _, v := range checks {
|
||||
if v != "ok" {
|
||||
status = "degraded"
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
api.Success(c, gin.H{
|
||||
"status": status,
|
||||
"checks": checks,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user