in alertmanager/handlers/handlers.go [70:109]
func RegisterV1Handlers(e *echo.Echo, client client.AlertmanagerClient, tmplClient client.TemplateClient) {
v1 := e.Group(v1rootPath)
v1Template := e.Group(v1TemplateRoot)
// these don't require tenancy so register before middleware
v1.GET(v1TenantPath, GetGetTenantsHandler(client))
v1.GET(v1TenancyPath, GetGetTenancyHandler(client))
v1.POST(v1GlobalPath, GetUpdateGlobalConfigHandler(client))
v1.GET(v1GlobalPath, GetGetGlobalConfigHandler(client))
v1Tenant := e.Group(v1TenantRootPath)
v1Tenant.Use(tenancyMiddlewareProvider(client, pathTenantProvider))
v1Tenant.POST(v1receiverPath, GetReceiverPostHandler(client))
v1Tenant.GET(v1receiverPath, GetGetReceiversHandler(client))
v1Tenant.DELETE(v1receiverNamePath, GetDeleteReceiverHandler(client, receiverNamePathProvider))
v1Tenant.PUT(v1receiverNamePath, GetUpdateReceiverHandler(client, receiverNamePathProvider))
v1Tenant.GET(v1receiverNamePath, GetGetReceiversHandler(client))
v1Tenant.POST(v1routePath, GetUpdateRouteHandler(client))
v1Tenant.GET(v1routePath, GetGetRouteHandler(client))
v1Template.Use(stringParamProvider(templateFilenameParam))
v1Template.GET(v1TemplatePath, GetGetTemplateFileHandler(client, tmplClient))
v1Template.POST(v1TemplatePath, GetPostTemplateFileHandler(client, tmplClient))
v1Template.PUT(v1TemplatePath, GetPutTemplateFileHandler(client, tmplClient))
v1Template.DELETE(v1TemplatePath, GetDeleteTemplateFileHandler(client, tmplClient))
v1Template.Use(stringParamProvider(templateNameParam))
v1Template.GET(v1TemplatesPath, GetGetTemplatesHandler(client, tmplClient))
v1Template.GET(v1TemplateSpecPath, GetGetTemplateHandler(client, tmplClient))
v1Template.POST(v1TemplateSpecPath, GetPostTemplateHandler(client, tmplClient))
v1Template.PUT(v1TemplateSpecPath, GetPutTemplateHandler(client, tmplClient))
v1Template.DELETE(v1TemplateSpecPath, GetDeleteTemplateHandler(client, tmplClient))
}