aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-11-17 16:18:28 +0000
committerChristopher Baines <mail@cbaines.net>2022-11-17 16:18:28 +0000
commit9fc5821180e0220095bce57b73bd19568725630e (patch)
treeb7ea721f7bf8602fc56bac3668abb660f40a2098 /guix-data-service
parentcc61bb5f1307446d72a0b2fee56e364ceaff8e65 (diff)
downloaddata-service-9fc5821180e0220095bce57b73bd19568725630e.tar
data-service-9fc5821180e0220095bce57b73bd19568725630e.tar.gz
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.
Diffstat (limited to 'guix-data-service')
-rw-r--r--guix-data-service/web/compare/controller.scm47
1 files 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))