2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/data-service.git synced 2023-12-14 03:23:03 +01:00

Add a JSON page for repository branches

This commit is contained in:
Christopher Baines 2020-09-27 16:32:56 +01:00
parent f7933807ac
commit 033858410b
2 changed files with 49 additions and 15 deletions

View file

@ -64,19 +64,45 @@
(('GET "repository" id)
(match (select-git-repository conn id)
((label url cgit-url-base)
(render-html
#:sxml
(view-git-repository
(string->number id)
label url cgit-url-base
(all-branches-with-most-recent-commit conn
(string->number id)))))
(let ((branches
(all-branches-with-most-recent-commit conn
(string->number id))))
(case (most-appropriate-mime-type
'(application/json text/html)
mime-types)
((application/json)
(render-json
`((id . ,id)
(label . ,label)
(url . ,url)
(branches
. ,(list->vector
(map (match-lambda
((name commit date revision-exists? job-events)
`((name . ,name)
(commit . ,commit))))
branches))))))
(else
(render-html
#:sxml
(view-git-repository
(string->number id)
label url cgit-url-base
branches))))))
(#f
(render-html
#:sxml (general-not-found
"Repository not found"
"")
#:code 404))))
(case (most-appropriate-mime-type
'(application/json text/html)
mime-types)
((application/json)
(render-json
'((error . "Repository not found"))
#:code 404))
(else
(render-html
#:sxml (general-not-found
"Repository not found"
"")
#:code 404))))))
(('GET "repository" repository-id "branch" branch-name)
(let ((parsed-query-parameters
(parse-query-parameters

View file

@ -26,6 +26,8 @@
(srfi srfi-37)
(ice-9 match)
(guix-data-service database)
(guix-data-service data-deletion)
(guix-data-service model package-derivation-by-guix-revision-range)
(guix-data-service jobs load-new-guix-revision))
(setvbuf (current-output-port) 'line)
@ -36,6 +38,12 @@
;; Make stack traces more useful
(setenv "COLUMNS" "256")
(match (command-line)
((name job)
(process-load-new-guix-revision-job job)))
;; (with-postgresql-connection
;; "foo"
;; rebuild-package-derivations-table)
;;(delete-revisions-for-all-branches-except-most-recent-n 100)
(delete-unreferenced-derivations)
;; (match (command-line)
;; ((name job)
;; (process-load-new-guix-revision-job job)))