diff options
author | Christopher Baines <mail@cbaines.net> | 2019-11-09 08:30:02 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-11-09 08:30:02 +0000 |
commit | 5bb4dfdabea34af0bfa03d6430935124f7b60a90 (patch) | |
tree | 721c0f53ab02ee73365ae9185ed96da0693ae8a1 /guix-data-service/web/repository/controller.scm | |
parent | fea4dc9385f6f42e7b89f1fafe1a8189f62af9eb (diff) | |
download | data-service-wip-derivation-history.tar data-service-wip-derivation-history.tar.gz |
Diffstat (limited to 'guix-data-service/web/repository/controller.scm')
-rw-r--r-- | guix-data-service/web/repository/controller.scm | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/guix-data-service/web/repository/controller.scm b/guix-data-service/web/repository/controller.scm index 23e3559..cdc89d6 100644 --- a/guix-data-service/web/repository/controller.scm +++ b/guix-data-service/web/repository/controller.scm @@ -111,6 +111,42 @@ branch-name package-name package-versions)))))) + (('GET "repository" repository-id "branch" branch-name "package" package-name "derivation-history") + (let ((package-derivations + (package-derivations-for-branch conn + (string->number repository-id) + branch-name + "x86_64-linux" + "x86_64-linux" + package-name))) + (case (most-appropriate-mime-type + '(application/json text/html) + mime-types) + ((application/json) + (render-json + `((versions . ,(list->vector + (map (match-lambda + ((package-version derivation-file-name + first-guix-revision-commit + first-datetime + last-guix-revision-commit + last-datetime) + `((version . ,package-version) + (derivation . ,derivation-file-name) + (first_revision + . ((commit . ,first-guix-revision-commit) + (datetime . ,first-datetime))) + (last_revision + . ((commit . ,last-guix-revision-commit) + (datetime . ,last-datetime)))))) + package-versions)))))) + (else + (render-html + #:sxml (view-branch-package-derivations + repository-id + branch-name + package-name + package-derivations)))))) (('GET "repository" repository-id "branch" branch-name "latest-processed-revision") (let ((commit-hash (latest-processed-commit-for-branch conn repository-id branch-name))) |