modelRT/handler/alert_event_query.go

44 lines
939 B
Go

// Package handler provides HTTP handlers for various endpoints.
package handler
import (
"net/http"
"strconv"
"modelRT/alert"
"modelRT/constants"
"modelRT/logger"
"modelRT/network"
"github.com/gin-gonic/gin"
)
// QueryAlertEventHandler define query alert event process API
func QueryAlertEventHandler(c *gin.Context) {
var targetLevel constants.AlertLevel
alertManger := alert.GetAlertMangerInstance()
levelStr := c.Query("level")
level, err := strconv.Atoi(levelStr)
if err != nil {
logger.Error(c, "convert alert level string to int failed", "error", err)
resp := network.FailureResponse{
Code: -1,
Msg: err.Error(),
}
c.JSON(http.StatusOK, resp)
}
targetLevel = constants.AlertLevel(level)
events := alertManger.GetRangeEventsByLevel(targetLevel)
resp := network.SuccessResponse{
Code: 0,
Msg: "success",
Payload: map[string]any{
"events": events,
},
}
c.JSON(http.StatusOK, resp)
}