mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
* Chore: Move ReqContext to contexthandler service * Rename package to contextmodel * Generate ngalert files * Remove unused imports
31 lines
1013 B
Go
31 lines
1013 B
Go
package service
|
|
|
|
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/services/accesscontrol"
|
|
contextmodel "github.com/grafana/grafana/pkg/services/contexthandler/model"
|
|
)
|
|
|
|
const rootUrl = "/api/admin"
|
|
|
|
func (uss *UsageStats) registerAPIEndpoints() {
|
|
authorize := accesscontrol.Middleware(uss.accesscontrol)
|
|
|
|
uss.RouteRegister.Group(rootUrl, func(subrouter routing.RouteRegister) {
|
|
subrouter.Get("/usage-report-preview", authorize(middleware.ReqGrafanaAdmin, accesscontrol.EvalPermission(ActionRead)), routing.Wrap(uss.getUsageReportPreview))
|
|
})
|
|
}
|
|
|
|
func (uss *UsageStats) getUsageReportPreview(ctx *contextmodel.ReqContext) response.Response {
|
|
usageReport, err := uss.GetUsageReport(ctx.Req.Context())
|
|
if err != nil {
|
|
return response.Error(http.StatusInternalServerError, "failed to get usage report", err)
|
|
}
|
|
|
|
return response.JSON(http.StatusOK, usageReport)
|
|
}
|