grafana/pkg/infra/usagestats/service/api.go
idafurjes 6c5a573772
Chore: Move ReqContext to contexthandler service (#62102)
* Chore: Move ReqContext to contexthandler service

* Rename package to contextmodel

* Generate ngalert files

* Remove unused imports
2023-01-27 08:50:36 +01:00

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)
}