mirror of
git://git.savannah.gnu.org/guix/data-service.git
synced 2023-12-14 03:23:03 +01:00
Provide more information about revision processing errors
In the compare package derivations response.
This commit is contained in:
parent
f7b823cfd9
commit
044a905c1d
1 changed files with 40 additions and 22 deletions
|
@ -648,28 +648,46 @@
|
|||
'(application/json text/html)
|
||||
mime-types)
|
||||
((application/json)
|
||||
(letpar& ((base-job
|
||||
(and=> (match (assq-ref query-parameters 'base_commit)
|
||||
(($ <invalid-query-parameter> value)
|
||||
(and (string? value) value))
|
||||
((? string? value) value)
|
||||
(_ #f))
|
||||
(lambda (commit)
|
||||
(with-thread-postgresql-connection
|
||||
(lambda (conn)
|
||||
(select-job-for-commit conn commit))))))
|
||||
(target-job
|
||||
(and=> (match (assq-ref query-parameters 'target_commit)
|
||||
(($ <invalid-query-parameter> value)
|
||||
(and (string? value) value))
|
||||
((? string? value) value)
|
||||
(_ #f))
|
||||
(lambda (commit)
|
||||
(with-thread-postgresql-connection
|
||||
(lambda (conn)
|
||||
(select-job-for-commit conn commit)))))))
|
||||
(render-json
|
||||
`((error . "invalid query")
|
||||
(query_parameters
|
||||
.
|
||||
,(map
|
||||
(match-lambda
|
||||
((name . val)
|
||||
(cons
|
||||
name
|
||||
(cond
|
||||
((invalid-query-parameter? val)
|
||||
`((invalid
|
||||
. ,(with-output-to-string
|
||||
(lambda ()
|
||||
(sxml->html
|
||||
(invalid-query-parameter-message
|
||||
val)))))
|
||||
(value . ,(invalid-query-parameter-value val))))
|
||||
((list? val)
|
||||
((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))))))
|
||||
((? list? val)
|
||||
(list->vector val))
|
||||
(else val)))))
|
||||
query-parameters)))))
|
||||
(val val)))))
|
||||
query-parameters))
|
||||
(base_job . ,base-job)
|
||||
(target_job . ,target-job)))))
|
||||
(else
|
||||
(letpar& ((systems
|
||||
(with-thread-postgresql-connection
|
||||
|
|
Loading…
Reference in a new issue