blob: 2aaf8c3f098c29b111d02d7df3d517b6b253a915 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
package controllers
import (
"metachan/database"
"metachan/tasks"
"metachan/types"
"metachan/utils/stats"
"github.com/gofiber/fiber/v2"
)
func HealthStatus(c *fiber.Ctx) error {
databaseStatus := database.GetConnectionStatus()
memoryStats := stats.GetMemoryStats()
taskStatuses := tasks.GlobalTaskManager.GetAllTaskStatuses()
statusString := map[bool]string{
true: "healthy",
false: "unhealthy",
}[databaseStatus]
healthStatus := types.HealthStatus{
Status: statusString,
Timestamp: stats.GetCurrentTimestamp(),
Uptime: stats.GetUptime(),
Memory: memoryStats,
Database: types.DatabaseStatus{Connected: databaseStatus, LastChecked: stats.GetCurrentTimestamp()},
Tasks: taskStatuses,
}
return c.JSON(healthStatus)
}
|