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:
parent
f7933807ac
commit
033858410b
2 changed files with 49 additions and 15 deletions
|
@ -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
|
||||
|
|
|
@ -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)))
|
||||
|
|
Loading…
Reference in a new issue