diff options
author | Christopher Baines <mail@cbaines.net> | 2020-02-01 13:33:14 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-02-01 13:33:14 +0100 |
commit | 744ab9366b6d64065137868c89fda24882250edd (patch) | |
tree | 3d62909d689a37e9a4fc8e11089b8c772f72ae21 | |
parent | 6bc753dd0e3f277128a1fe0687720fd1e66b430f (diff) | |
download | data-service-744ab9366b6d64065137868c89fda24882250edd.tar data-service-744ab9366b6d64065137868c89fda24882250edd.tar.gz |
Add a very basic repositories page
-rw-r--r-- | guix-data-service/web/controller.scm | 2 | ||||
-rw-r--r-- | guix-data-service/web/repository/controller.scm | 5 | ||||
-rw-r--r-- | guix-data-service/web/repository/html.scm | 34 |
3 files changed, 40 insertions, 1 deletions
diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm index f8903c9..5a89ed7 100644 --- a/guix-data-service/web/controller.scm +++ b/guix-data-service/web/controller.scm @@ -289,6 +289,8 @@ (count-derivations conn)))) (('GET "revision" args ...) (delegate-to revision-controller)) + (('GET "repositories") + (delegate-to repository-controller)) (('GET "repository" _ ...) (delegate-to repository-controller)) (('GET "gnu" "store" filename) diff --git a/guix-data-service/web/repository/controller.scm b/guix-data-service/web/repository/controller.scm index 30e7ffd..aaf763c 100644 --- a/guix-data-service/web/repository/controller.scm +++ b/guix-data-service/web/repository/controller.scm @@ -42,6 +42,11 @@ (uri-path (request-uri request))) (match method-and-path-components + (('GET "repositories") + (let ((git-repositories (all-git-repositories conn))) + (render-html + #:sxml + (view-git-repositories git-repositories)))) (('GET "repository" id) (match (select-git-repository conn id) ((label url cgit-url-base) diff --git a/guix-data-service/web/repository/html.scm b/guix-data-service/web/repository/html.scm index 4503f08..b001be7 100644 --- a/guix-data-service/web/repository/html.scm +++ b/guix-data-service/web/repository/html.scm @@ -21,12 +21,44 @@ #:use-module (ice-9 match) #:use-module (guix-data-service web html-utils) #:use-module (guix-data-service web view html) - #:export (view-git-repository + #:export (view-git-repositories + view-git-repository view-branches view-branch view-branch-package view-branch-package-derivations)) +(define* (view-git-repositories git-repositories) + (layout + #:body + `(,(header) + (div + (@ (class "container")) + (div + (@ (class "row")) + (div + (@ (class "col-md-12")) + (h1 "Git repositories"))) + ,@(map + (match-lambda + ((id label url cgit-base-url) + `(div + (@ (class "row")) + (div + (@ (class "col-md-12")) + (h3 ,url) + (a (@ (href ,(string-append "/repository/" (number->string id)))) + "View repository") + (dl + (@ (class "dl-horizontal")) + (dt "Label") + (dd ,label) + (dt "URL") + (dd ,url) + (dt "cgit base URL") + (dd ,cgit-base-url)))))) + git-repositories))))) + (define* (view-git-repository git-repository-id label url cgit-url-base branches-with-most-recent-commits) |