AlertingNG: base API implementation (#31824)
* AlertingNG: base API implementation * Pass the interface instead of the base impl * Ruler mock draft (WIP) * Update alerting-api dependency * Improve mock implementation
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
/*Package api contains base API implementation of unified alerting
|
||||
*
|
||||
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||||
*
|
||||
* Need to remove unused imports.
|
||||
*/
|
||||
package api
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/go-macaron/binding"
|
||||
apimodels "github.com/grafana/alerting-api/pkg/api"
|
||||
"github.com/grafana/grafana/pkg/api/response"
|
||||
"github.com/grafana/grafana/pkg/api/routing"
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
)
|
||||
|
||||
type RulerApiService interface {
|
||||
RouteDeleteNamespaceRulesConfig(*models.ReqContext) response.Response
|
||||
RouteDeleteRuleGroupConfig(*models.ReqContext) response.Response
|
||||
RouteGetNamespaceRulesConfig(*models.ReqContext) response.Response
|
||||
RouteGetRulegGroupConfig(*models.ReqContext) response.Response
|
||||
RouteGetRulesConfig(*models.ReqContext) response.Response
|
||||
RoutePostNameRulesConfig(*models.ReqContext, apimodels.RuleGroupConfig) response.Response
|
||||
}
|
||||
|
||||
type RulerApiBase struct {
|
||||
log log.Logger
|
||||
}
|
||||
|
||||
func (api *API) RegisterRulerApiEndpoints(srv RulerApiService) {
|
||||
api.RouteRegister.Group("", func(group routing.RouteRegister) {
|
||||
group.Delete(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}"), routing.Wrap(srv.RouteDeleteNamespaceRulesConfig))
|
||||
group.Delete(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}/{Groupname}"), routing.Wrap(srv.RouteDeleteRuleGroupConfig))
|
||||
group.Get(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}"), routing.Wrap(srv.RouteGetNamespaceRulesConfig))
|
||||
group.Get(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}/{Groupname}"), routing.Wrap(srv.RouteGetRulegGroupConfig))
|
||||
group.Get(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules"), routing.Wrap(srv.RouteGetRulesConfig))
|
||||
group.Post(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}"), binding.Bind(apimodels.RuleGroupConfig{}), routing.Wrap(srv.RoutePostNameRulesConfig))
|
||||
})
|
||||
}
|
||||
|
||||
func (base RulerApiBase) RouteDeleteNamespaceRulesConfig(c *models.ReqContext) response.Response {
|
||||
datasourceId := c.Params(":DatasourceId")
|
||||
base.log.Info("RouteDeleteNamespaceRulesConfig: ", "DatasourceId", datasourceId)
|
||||
namespace := c.Params(":Namespace")
|
||||
base.log.Info("RouteDeleteNamespaceRulesConfig: ", "Namespace", namespace)
|
||||
return response.Error(http.StatusNotImplemented, "", nil)
|
||||
}
|
||||
|
||||
func (base RulerApiBase) RouteDeleteRuleGroupConfig(c *models.ReqContext) response.Response {
|
||||
datasourceId := c.Params(":DatasourceId")
|
||||
base.log.Info("RouteDeleteRuleGroupConfig: ", "DatasourceId", datasourceId)
|
||||
namespace := c.Params(":Namespace")
|
||||
base.log.Info("RouteDeleteRuleGroupConfig: ", "Namespace", namespace)
|
||||
groupname := c.Params(":Groupname")
|
||||
base.log.Info("RouteDeleteRuleGroupConfig: ", "Groupname", groupname)
|
||||
return response.Error(http.StatusNotImplemented, "", nil)
|
||||
}
|
||||
|
||||
func (base RulerApiBase) RouteGetNamespaceRulesConfig(c *models.ReqContext) response.Response {
|
||||
datasourceId := c.Params(":DatasourceId")
|
||||
base.log.Info("RouteGetNamespaceRulesConfig: ", "DatasourceId", datasourceId)
|
||||
namespace := c.Params(":Namespace")
|
||||
base.log.Info("RouteGetNamespaceRulesConfig: ", "Namespace", namespace)
|
||||
return response.Error(http.StatusNotImplemented, "", nil)
|
||||
}
|
||||
|
||||
func (base RulerApiBase) RouteGetRulegGroupConfig(c *models.ReqContext) response.Response {
|
||||
datasourceId := c.Params(":DatasourceId")
|
||||
base.log.Info("RouteGetRulegGroupConfig: ", "DatasourceId", datasourceId)
|
||||
namespace := c.Params(":Namespace")
|
||||
base.log.Info("RouteGetRulegGroupConfig: ", "Namespace", namespace)
|
||||
groupname := c.Params(":Groupname")
|
||||
base.log.Info("RouteGetRulegGroupConfig: ", "Groupname", groupname)
|
||||
return response.Error(http.StatusNotImplemented, "", nil)
|
||||
}
|
||||
|
||||
func (base RulerApiBase) RouteGetRulesConfig(c *models.ReqContext) response.Response {
|
||||
datasourceId := c.Params(":DatasourceId")
|
||||
base.log.Info("RouteGetRulesConfig: ", "DatasourceId", datasourceId)
|
||||
return response.Error(http.StatusNotImplemented, "", nil)
|
||||
}
|
||||
|
||||
func (base RulerApiBase) RoutePostNameRulesConfig(c *models.ReqContext, body apimodels.RuleGroupConfig) response.Response {
|
||||
datasourceId := c.Params(":DatasourceId")
|
||||
base.log.Info("RoutePostNameRulesConfig: ", "DatasourceId", datasourceId)
|
||||
namespace := c.Params(":Namespace")
|
||||
base.log.Info("RoutePostNameRulesConfig: ", "Namespace", namespace)
|
||||
base.log.Info("RoutePostNameRulesConfig: ", "body", body)
|
||||
return response.Error(http.StatusNotImplemented, "", nil)
|
||||
}
|
||||
Reference in New Issue
Block a user