Alerting: Add provisioning GET routes for message templates (#48367)
* Template service * Add GET routes and implement them * Generate mock for persist layer * Unit tests for reading templates * Set up composition root and get integration tests working * Fix prealloc issue * Extract setup boilerplate * Update AuthorizationTest * Rebase and resolve * Fix linter error
This commit is contained in:
@@ -23,6 +23,8 @@ type ProvisioningApiForkingService interface {
|
||||
RouteDeleteContactpoints(*models.ReqContext) response.Response
|
||||
RouteGetContactpoints(*models.ReqContext) response.Response
|
||||
RouteGetPolicyTree(*models.ReqContext) response.Response
|
||||
RouteGetTemplate(*models.ReqContext) response.Response
|
||||
RouteGetTemplates(*models.ReqContext) response.Response
|
||||
RoutePostContactpoints(*models.ReqContext) response.Response
|
||||
RoutePostPolicyTree(*models.ReqContext) response.Response
|
||||
RoutePutContactpoints(*models.ReqContext) response.Response
|
||||
@@ -40,6 +42,14 @@ func (f *ForkedProvisioningApi) RouteGetPolicyTree(ctx *models.ReqContext) respo
|
||||
return f.forkRouteGetPolicyTree(ctx)
|
||||
}
|
||||
|
||||
func (f *ForkedProvisioningApi) RouteGetTemplate(ctx *models.ReqContext) response.Response {
|
||||
return f.forkRouteGetTemplate(ctx)
|
||||
}
|
||||
|
||||
func (f *ForkedProvisioningApi) RouteGetTemplates(ctx *models.ReqContext) response.Response {
|
||||
return f.forkRouteGetTemplates(ctx)
|
||||
}
|
||||
|
||||
func (f *ForkedProvisioningApi) RoutePostContactpoints(ctx *models.ReqContext) response.Response {
|
||||
conf := apimodels.EmbeddedContactPoint{}
|
||||
if err := web.Bind(ctx.Req, &conf); err != nil {
|
||||
@@ -96,6 +106,26 @@ func (api *API) RegisterProvisioningApiEndpoints(srv ProvisioningApiForkingServi
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/templates/{ID}"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/templates/{ID}"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/templates/{ID}",
|
||||
srv.RouteGetTemplate,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Get(
|
||||
toMacaronPath("/api/provisioning/templates"),
|
||||
api.authorize(http.MethodGet, "/api/provisioning/templates"),
|
||||
metrics.Instrument(
|
||||
http.MethodGet,
|
||||
"/api/provisioning/templates",
|
||||
srv.RouteGetTemplates,
|
||||
m,
|
||||
),
|
||||
)
|
||||
group.Post(
|
||||
toMacaronPath("/api/provisioning/contact-points"),
|
||||
api.authorize(http.MethodPost, "/api/provisioning/contact-points"),
|
||||
|
||||
Reference in New Issue
Block a user