Alerting: Cleanup and move legacy to a legacy file (#32803)

* Alerting: Cleanup and move legacy to a legacy file

A quick cleanup of the ngalert/api directory, optimising for an easy
removal of what is will be considered legacy at some point. A quick
summary of what's done is:

- Add a prefix `generated` prefix to files that are auto-generated by
  our swagger definitions.
- Create a legacy file to place all the legacy API routes implementation
  and helpers. Deleting files that where no longer needed after this
move.
- Rename the `lotex` file to `lotex_ruler`
- Adding a couple of comments here and there.

With this, I hope to organise our code in this directory a bit better
given there's a lot going on.
This commit is contained in:
gotjosh
2021-04-09 05:55:41 -04:00
committed by GitHub
parent 51e4106d1d
commit c9e5088e8b
20 changed files with 377 additions and 610 deletions
@@ -18,9 +18,8 @@ fix:
sed -i -e 's/apimodels\.\[\]PostableAlert/apimodels.PostableAlerts/' ../go/*.go
sed -i -e 's/apimodels\.\[\]UpdateDashboardAclCommand/apimodels.Permissions/' ../go/*.go
goimports -w -v ../go/*.go
rm ../go/*.go-e
clean:
rm -rf ../go
all: swagger-codegen-api fix copy-files clean
all: swagger-codegen-api fix copy-files clean
@@ -4,4 +4,4 @@ files = os.listdir(path)
dest_dir = "../"
for index, file in enumerate(files):
os.rename(os.path.join(path, file), os.path.join(dest_dir, ''.join([file.split('.')[0], '_base.go'])))
os.rename(os.path.join(path, file), os.path.join(dest_dir, ''.join(['generated_base_',file.split('.')[0], '.go'])))
@@ -3,13 +3,11 @@ package {{packageName}}
{{#operations}}
import (
"net/http"
"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"
"github.com/grafana/grafana/pkg/infra/log"
apimodels "github.com/grafana/alerting-api/pkg/api"
"github.com/grafana/grafana/pkg/middleware"
)
@@ -18,22 +16,11 @@ type {{classname}}Service interface { {{#operation}}
{{nickname}}(*models.ReqContext{{#bodyParams}}, apimodels.{{dataType}}{{/bodyParams}}) response.Response{{/operation}}
}
type {{classname}}Base struct {
log log.Logger
}
func (api *API) Register{{classname}}Endpoints(srv {{classname}}Service) {
api.RouteRegister.Group("", func(group routing.RouteRegister){ {{#operations}}{{#operation}}
group.{{httpMethod}}(toMacaronPath("{{{path}}}"){{#bodyParams}}, binding.Bind(apimodels.{{dataType}}{}){{/bodyParams}}, routing.Wrap(srv.{{nickname}})){{/operation}}{{/operations}}
}, middleware.ReqSignedIn)
}{{#operation}}
func (base {{classname}}Base) {{nickname}}(c *models.ReqContext{{#bodyParams}}, {{paramName}} apimodels.{{dataType}}{{/bodyParams}}) response.Response { {{#pathParams}}
{{paramName}} := c.Params(":{{baseName}}")
base.log.Info("{{nickname}}: ", "{{baseName}}", {{paramName}}){{/pathParams}}{{#bodyParams}}
base.log.Info("{{nickname}}: ", "{{baseName}}", {{paramName}}){{/bodyParams}}
return response.Error(http.StatusNotImplemented, "", nil)
}{{/operation}}{{/operations}}
{{/operation}}{{/operations}}
@@ -1,6 +1,6 @@
/*Package api contains base API implementation of unified alerting
*
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*
* Need to remove unused imports.
*Do not manually edit these files, please find ngalert/api/swagger-codegen/ for commands on how to generate them.
*/