diff options
-rw-r--r-- | guix-data-service/web/query-parameters.scm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/guix-data-service/web/query-parameters.scm b/guix-data-service/web/query-parameters.scm index 41e9beb..12ac4c6 100644 --- a/guix-data-service/web/query-parameters.scm +++ b/guix-data-service/web/query-parameters.scm @@ -150,6 +150,21 @@ (() (cons name default)) (x (cons name x)))) + ((name processor #:no-default-when fields #:default default) + (let ((use-default? + (every (lambda (field) + (not (memq field fields))) + fields))) + (match (assq name request-query-parameters) + (#f (if use-default? + (cons name default) + #f)) + ((_ . "") (if use-default? + (cons name default) + #f)) + ((_ . value) (cons name + (processor value)))))) + ((name processor #:default default) (match (assq name request-query-parameters) (#f (cons name default)) |