initial base work for implementing sorting and filter across API endpoints (#12076)

This commit is contained in:
Luiz Aoqui
2022-02-16 14:34:36 -05:00
committed by GitHub
parent 3ebfd7b414
commit 36e31c51cb
11 changed files with 60 additions and 30 deletions

View File

@@ -17,9 +17,6 @@ func (s *HTTPServer) DeploymentsRequest(resp http.ResponseWriter, req *http.Requ
return nil, nil
}
query := req.URL.Query()
args.OrderAscending = query.Get("ascending") == "true"
var out structs.DeploymentListResponse
if err := s.agent.RPC("Deployment.List", &args, &out); err != nil {
return nil, err

View File

@@ -20,7 +20,6 @@ func (s *HTTPServer) EvalsRequest(resp http.ResponseWriter, req *http.Request) (
query := req.URL.Query()
args.FilterEvalStatus = query.Get("status")
args.FilterJobID = query.Get("job")
args.OrderAscending = query.Get("ascending") == "true"
var out structs.EvalListResponse
if err := s.agent.RPC("Eval.List", &args, &out); err != nil {

View File

@@ -788,6 +788,7 @@ func (s *HTTPServer) parse(resp http.ResponseWriter, req *http.Request, r *strin
parseNamespace(req, &b.Namespace)
parsePagination(req, b)
parseFilter(req, b)
parseAscending(req, b)
return parseWait(resp, req, b)
}
@@ -813,6 +814,12 @@ func parseFilter(req *http.Request, b *structs.QueryOptions) {
}
}
// parseAscending parses the ascending query parameter for QueryOptions
func parseAscending(req *http.Request, b *structs.QueryOptions) {
query := req.URL.Query()
b.Ascending = query.Get("ascending") == "true"
}
// parseWriteRequest is a convenience method for endpoints that need to parse a
// write request.
func (s *HTTPServer) parseWriteRequest(req *http.Request, w *structs.WriteRequest) {