mirror of
https://github.com/grafana/grafana.git
synced 2024-12-02 05:29:42 -06:00
15e4556c2f
* require legacy Editor for post, put, delete endpoints * require user to be signed in on group level because handler that checks that user has role Editor does not check it is signed in
87 lines
2.7 KiB
Go
87 lines
2.7 KiB
Go
/*Package api contains base API implementation of unified alerting
|
|
*
|
|
*Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
|
*
|
|
*Do not manually edit these files, please find ngalert/api/swagger-codegen/ for commands on how to generate them.
|
|
*/
|
|
|
|
package api
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/grafana/grafana/pkg/api/response"
|
|
"github.com/grafana/grafana/pkg/api/routing"
|
|
"github.com/grafana/grafana/pkg/middleware"
|
|
"github.com/grafana/grafana/pkg/models"
|
|
"github.com/grafana/grafana/pkg/services/ngalert/metrics"
|
|
)
|
|
|
|
type PrometheusApiForkingService interface {
|
|
RouteGetAlertStatuses(*models.ReqContext) response.Response
|
|
RouteGetGrafanaAlertStatuses(*models.ReqContext) response.Response
|
|
RouteGetGrafanaRuleStatuses(*models.ReqContext) response.Response
|
|
RouteGetRuleStatuses(*models.ReqContext) response.Response
|
|
}
|
|
|
|
func (f *ForkedPrometheusApi) RouteGetAlertStatuses(ctx *models.ReqContext) response.Response {
|
|
return f.forkRouteGetAlertStatuses(ctx)
|
|
}
|
|
|
|
func (f *ForkedPrometheusApi) RouteGetGrafanaAlertStatuses(ctx *models.ReqContext) response.Response {
|
|
return f.forkRouteGetGrafanaAlertStatuses(ctx)
|
|
}
|
|
|
|
func (f *ForkedPrometheusApi) RouteGetGrafanaRuleStatuses(ctx *models.ReqContext) response.Response {
|
|
return f.forkRouteGetGrafanaRuleStatuses(ctx)
|
|
}
|
|
|
|
func (f *ForkedPrometheusApi) RouteGetRuleStatuses(ctx *models.ReqContext) response.Response {
|
|
return f.forkRouteGetRuleStatuses(ctx)
|
|
}
|
|
|
|
func (api *API) RegisterPrometheusApiEndpoints(srv PrometheusApiForkingService, m *metrics.API) {
|
|
api.RouteRegister.Group("", func(group routing.RouteRegister) {
|
|
group.Get(
|
|
toMacaronPath("/api/prometheus/{Recipient}/api/v1/alerts"),
|
|
api.authorize(http.MethodGet, "/api/prometheus/{Recipient}/api/v1/alerts"),
|
|
metrics.Instrument(
|
|
http.MethodGet,
|
|
"/api/prometheus/{Recipient}/api/v1/alerts",
|
|
srv.RouteGetAlertStatuses,
|
|
m,
|
|
),
|
|
)
|
|
group.Get(
|
|
toMacaronPath("/api/prometheus/grafana/api/v1/alerts"),
|
|
api.authorize(http.MethodGet, "/api/prometheus/grafana/api/v1/alerts"),
|
|
metrics.Instrument(
|
|
http.MethodGet,
|
|
"/api/prometheus/grafana/api/v1/alerts",
|
|
srv.RouteGetGrafanaAlertStatuses,
|
|
m,
|
|
),
|
|
)
|
|
group.Get(
|
|
toMacaronPath("/api/prometheus/grafana/api/v1/rules"),
|
|
api.authorize(http.MethodGet, "/api/prometheus/grafana/api/v1/rules"),
|
|
metrics.Instrument(
|
|
http.MethodGet,
|
|
"/api/prometheus/grafana/api/v1/rules",
|
|
srv.RouteGetGrafanaRuleStatuses,
|
|
m,
|
|
),
|
|
)
|
|
group.Get(
|
|
toMacaronPath("/api/prometheus/{Recipient}/api/v1/rules"),
|
|
api.authorize(http.MethodGet, "/api/prometheus/{Recipient}/api/v1/rules"),
|
|
metrics.Instrument(
|
|
http.MethodGet,
|
|
"/api/prometheus/{Recipient}/api/v1/rules",
|
|
srv.RouteGetRuleStatuses,
|
|
m,
|
|
),
|
|
)
|
|
}, middleware.ReqSignedIn)
|
|
}
|