diff --git a/guix-data-service/web/revision/controller.scm b/guix-data-service/web/revision/controller.scm index 25b7604..9f8592a 100644 --- a/guix-data-service/web/revision/controller.scm +++ b/guix-data-service/web/revision/controller.scm @@ -767,7 +767,26 @@ mime-types) ((application/json) (render-json - `())) + `((derivations . ,(list->vector + (map (match-lambda + ((derivation system target) + `((derivation . ,derivation) + ,@(if (member "system" fields) + `((system . ,system)) + '()) + ,@(if (member "target" fields) + `((target . ,target)) + '()))) + ((derivation system target builds) + `((derivation . ,derivation) + ,@(if (member "system" fields) + `((system . ,system)) + '()) + ,@(if (member "target" fields) + `((target . ,target)) + '()) + (builds . ,builds)))) + derivations)))))) (else (render-html #:sxml (view-revision-package-derivations diff --git a/guix-data-service/web/revision/html.scm b/guix-data-service/web/revision/html.scm index 2d1b706..35b5782 100644 --- a/guix-data-service/web/revision/html.scm +++ b/guix-data-service/web/revision/html.scm @@ -1127,6 +1127,19 @@ figure { (button (@ (type "submit") (class "btn btn-lg btn-primary")) "Update results"))))))) + (div + (@ (class "row")) + (div + (@ (class "col-sm-12")) + (a (@ (class "btn btn-default btn-lg pull-right") + (href ,(let ((query-parameter-string + (query-parameters->string query-parameters))) + (string-append + path-base ".json" + (if (string-null? query-parameter-string) + "" + (string-append "?" query-parameter-string)))))) + "View JSON"))) (div (@ (class "row")) (div