{{>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}} } type {{classname}}Service interface { {{#operation}} {{nickname}}(*models.ReqContext{{#bodyParams}}, apimodels.{{dataType}}{{/bodyParams}}) response.Response{{/operation}} } {{#operations}}{{#operation}} func (f *Forked{{classname}}) {{nickname}}(ctx *models.ReqContext) response.Response { {{#bodyParams}} conf := apimodels.{{dataType}}{} if err := web.Bind(ctx.Req, &conf); err != nil { return response.Error(http.StatusBadRequest, "bad request data", err) } return f.fork{{nickname}}(ctx, conf) {{/bodyParams}} {{^bodyParams}} return f.fork{{nickname}}(ctx) {{/bodyParams}} } {{/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}}}"), metrics.Instrument( http.Method{{httpMethod}}, "{{{path}}}", srv.{{nickname}}, m, ), ){{/operation}}{{/operations}} }, middleware.ReqSignedIn) }{{#operation}} {{/operation}}{{/operations}}