0f56462fbe
* Generate API for writing templates * Persist templates app logic layer * Validate templates * Extract logic, make set and delete methods * Drop post route for templates * Fix response details, wire up remainder of API * Authorize routes * Mirror some existing tests on new APIs * Generate mock for prov store * Wire up prov store mock, add tests using it * Cover cases for both storage paths * Add happy path tests and fix bugs if file contains no template section * Normalize template content with define statement * Tests for deletion * Fix linter error * Move provenance field to DTO * empty commit * ID to name * Fix in auth too
61 lines
2.1 KiB
Go
61 lines
2.1 KiB
Go
package api
|
|
|
|
import (
|
|
"github.com/grafana/grafana/pkg/api/response"
|
|
"github.com/grafana/grafana/pkg/models"
|
|
apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
|
|
)
|
|
|
|
// ForkedProvisioningApi always forwards requests to a Grafana backend.
|
|
// We do not currently support provisioning of external systems through Grafana's API.
|
|
type ForkedProvisioningApi struct {
|
|
svc *ProvisioningSrv
|
|
}
|
|
|
|
// NewForkedProvisioningApi creates a new ForkedProvisioningApi instance.
|
|
func NewForkedProvisioningApi(svc *ProvisioningSrv) *ForkedProvisioningApi {
|
|
return &ForkedProvisioningApi{
|
|
svc: svc,
|
|
}
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRouteGetPolicyTree(ctx *models.ReqContext) response.Response {
|
|
return f.svc.RouteGetPolicyTree(ctx)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRoutePostPolicyTree(ctx *models.ReqContext, route apimodels.Route) response.Response {
|
|
return f.svc.RoutePostPolicyTree(ctx, route)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRouteGetContactpoints(ctx *models.ReqContext) response.Response {
|
|
return f.svc.RouteGetContactPoints(ctx)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRoutePostContactpoints(ctx *models.ReqContext, cp apimodels.EmbeddedContactPoint) response.Response {
|
|
return f.svc.RoutePostContactPoint(ctx, cp)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRoutePutContactpoints(ctx *models.ReqContext, cp apimodels.EmbeddedContactPoint) response.Response {
|
|
return f.svc.RoutePutContactPoint(ctx, cp)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRouteDeleteContactpoints(ctx *models.ReqContext) response.Response {
|
|
return f.svc.RouteDeleteContactPoint(ctx)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRouteGetTemplates(ctx *models.ReqContext) response.Response {
|
|
return f.svc.RouteGetTemplates(ctx)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRouteGetTemplate(ctx *models.ReqContext) response.Response {
|
|
return f.svc.RouteGetTemplate(ctx)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRoutePutTemplate(ctx *models.ReqContext, body apimodels.MessageTemplateContent) response.Response {
|
|
return f.svc.RoutePutTemplate(ctx, body)
|
|
}
|
|
|
|
func (f *ForkedProvisioningApi) forkRouteDeleteTemplate(ctx *models.ReqContext) response.Response {
|
|
return f.svc.RouteDeleteTemplate(ctx)
|
|
}
|