Rework the builds and build_status tables as well as related code

Allow for build status information to be submitted by POST request. This
required some changes to the builds and build_status tables, as for example,
the Cuirass build id may not be available, and the derivation may not be know
yet, so just record the derivation file name.
This commit is contained in:
Christopher Baines 2019-11-24 12:59:09 +00:00
parent 0ffd8caeeb
commit 5663235048
16 changed files with 510 additions and 229 deletions

View file

@ -27,25 +27,27 @@
#:use-module (guix-data-service web util)
#:export (start-guix-data-service-web-server))
(define (run-controller controller request body)
(define (run-controller controller request body secret-key-base)
(let-values (((request-components mime-types)
(request->path-components-and-mime-type request)))
(controller request
(cons (request-method request)
request-components)
mime-types
body)))
body
secret-key-base)))
(define (handler request body controller)
(define (handler request body controller secret-key-base)
(display
(format #f "~a ~a\n"
(request-method request)
(uri-path (request-uri request))))
(apply values
(run-controller controller request body)))
(run-controller controller request body secret-key-base)))
(define (start-guix-data-service-web-server port host)
(define (start-guix-data-service-web-server port host secret-key-base)
(run-server (lambda (request body)
(handler request body controller))
(handler request body controller
secret-key-base))
#:host host
#:port port))