mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 18:22:24 +08:00
48 lines
1023 B
Go
48 lines
1023 B
Go
package api
|
|
|
|
import (
|
|
"github.com/grafana/grafana/pkg/bus"
|
|
"github.com/grafana/grafana/pkg/middleware"
|
|
"github.com/grafana/grafana/pkg/models"
|
|
)
|
|
|
|
func ValidateOrgAlert(c *middleware.Context) {
|
|
id := c.ParamsInt64(":id")
|
|
query := models.GetAlertById{Id: id}
|
|
|
|
if err := bus.Dispatch(&query); err != nil {
|
|
c.JsonApiErr(404, "Alert not found", nil)
|
|
return
|
|
}
|
|
|
|
if c.OrgId != query.Result.OrgId {
|
|
c.JsonApiErr(403, "You are not allowed to edit/view alert", nil)
|
|
return
|
|
}
|
|
}
|
|
|
|
// GET /api/alert_rule
|
|
func GetAlerts(c *middleware.Context) Response {
|
|
query := models.GetAlertsQuery{
|
|
OrgId: c.OrgId,
|
|
}
|
|
|
|
if err := bus.Dispatch(&query); err != nil {
|
|
return ApiError(500, "List alerts failed", err)
|
|
}
|
|
|
|
return Json(200, query.Result)
|
|
}
|
|
|
|
// GET /api/alert_rule/:id
|
|
func GetAlert(c *middleware.Context) Response {
|
|
id := c.ParamsInt64(":id")
|
|
query := models.GetAlertById{Id: id}
|
|
|
|
if err := bus.Dispatch(&query); err != nil {
|
|
return ApiError(500, "List alerts failed", err)
|
|
}
|
|
|
|
return Json(200, &query.Result)
|
|
}
|