{{>partial_header}} package {{packageName}} {{#operations}} import ( "github.com/go-macaron/binding" "github.com/grafana/grafana/pkg/api/routing" "github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/models" apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" "github.com/grafana/grafana/pkg/services/ngalert/metrics" "github.com/grafana/grafana/pkg/middleware" ) type {{classname}}ForkingService interface { {{#operation}} {{nickname}}(*models.ReqContext) response.Response{{/operation}} } {{#operations}}{{#operation}} func (f *Forked{{classname}}) {{nickname}}(ctx *models.ReqContext) response.Response { {{#pathParams}} {{paramName}}Param := web.Params(ctx.Req)[":{{baseName}}"] {{/pathParams}} {{#bodyParams}} conf := apimodels.{{dataType}}{} if err := web.Bind(ctx.Req, &conf); err != nil { return response.Error(http.StatusBadRequest, "bad request data", err) } {{/bodyParams}} return f.fork{{nickname}}(ctx{{#bodyParams}}, conf{{/bodyParams}}{{#pathParams}}, {{paramName}}Param{{/pathParams}}) } {{/operation}}{{/operations}} func (api *API) Register{{classname}}Endpoints(srv {{classname}}ForkingService, m *metrics.API) { api.RouteRegister.Group("", func(group routing.RouteRegister){ {{#operations}}{{#operation}} group.{{httpMethod}}( toMacaronPath("{{{path}}}"), api.authorize(http.Method{{httpMethod}}, "{{{path}}}"), metrics.Instrument( http.Method{{httpMethod}}, "{{{path}}}", srv.{{nickname}}, m, ), ){{/operation}}{{/operations}} }, middleware.ReqSignedIn) }{{#operation}} {{/operation}}{{/operations}}