diff options
Diffstat (limited to 'guix-web/controller.scm')
-rw-r--r-- | guix-web/controller.scm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/guix-web/controller.scm b/guix-web/controller.scm index f3858d3..bfa2f5e 100644 --- a/guix-web/controller.scm +++ b/guix-web/controller.scm @@ -22,6 +22,7 @@ #:use-module (gnu packages) #:use-module (guix-web render) #:use-module (guix-web view) + #:use-module (guix-web package) #:export (controller)) (define (controller path) @@ -32,7 +33,7 @@ (render-html (all-packages))) ((GET "packages.json") (render-json (all-packages-json))) - ((GET "package" name) + ((GET "packages" name) (match (string-split name #\.) ((name ext) (render-json @@ -41,6 +42,11 @@ '()))) ((name) (render-html (view-package name))))) + ((POST "packages" name "install") + (let ((package (car (find-packages-by-name name)))) + (if (package-install package) + (created) + (unprocessable-entity)))) ((GET "librejs") (render-html (librejs))) (_ #f))) |