[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: Include more information about invalid query parameters
From: |
Christopher Baines |
Subject: |
01/02: Include more information about invalid query parameters |
Date: |
Thu, 17 Nov 2022 11:32:43 -0500 (EST) |
cbaines pushed a commit to branch master
in repository data-service.
commit 9fc5821180e0220095bce57b73bd19568725630e
Author: Christopher Baines <mail@cbaines.net>
AuthorDate: Thu Nov 17 16:18:28 2022 +0000
Include more information about invalid query parameters
In the /compare response.
This should enable qa.guix.gnu.org to detect when the base revision for a
comparison is unknown.
---
guix-data-service/web/compare/controller.scm | 47 ++++++++++++++--------------
1 file changed, 23 insertions(+), 24 deletions(-)
diff --git a/guix-data-service/web/compare/controller.scm
b/guix-data-service/web/compare/controller.scm
index b0ae639..9aec025 100644
--- a/guix-data-service/web/compare/controller.scm
+++ b/guix-data-service/web/compare/controller.scm
@@ -254,6 +254,19 @@
((application/json)
(render-json
`((error . "invalid query")
+ (query_parameters
+ . ,(map
+ (match-lambda
+ ((key . val)
+ (cons key
+ (match val
+ (($ <invalid-query-parameter> value message)
+ `((invalid_value . ,value)
+ (message . ,(call-with-output-string
+ (lambda (port)
+ (sxml->html message
port))))))
+ (val val)))))
+ query-parameters))
(base_job . ,base-job)
(target_job . ,target-job))))
(else
@@ -433,30 +446,16 @@
(render-json
'((error . "invalid query"))))
(else
- (letpar& ((base-job
- (match (assq-ref query-parameters 'base_commit)
- (($ <invalid-query-parameter> value)
- (with-thread-postgresql-connection
- (lambda (conn)
- (select-job-for-commit conn value))))
- (_ #f)))
- (target-job
- (match (assq-ref query-parameters 'target_commit)
- (($ <invalid-query-parameter> value)
- (with-thread-postgresql-connection
- (lambda (conn)
- (select-job-for-commit conn value))))
- (_ #f))))
- (render-html
- #:sxml (compare query-parameters
- 'datetime
- #f
- #f
- #f
- #f
- #f
- #f
- #f)))))
+ (render-html
+ #:sxml (compare query-parameters
+ 'datetime
+ #f
+ #f
+ #f
+ #f
+ #f
+ #f
+ #f))))
(let ((base-branch (assq-ref query-parameters 'base_branch))
(base-datetime (assq-ref query-parameters 'base_datetime))