guix-commits
[Top][All Lists]
Advanced

[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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]