42 lines
1.2 KiB
Factor
42 lines
1.2 KiB
Factor
! Copyright (C) 2009, 2010 Slava Pestov.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: accessors furnace.auth furnace.db
|
|
http.server.dispatchers mason.server webapps.mason.grids
|
|
webapps.mason.make-release webapps.mason.package
|
|
webapps.mason.release webapps.mason.report
|
|
webapps.mason.downloads webapps.mason.status-update ;
|
|
IN: webapps.mason
|
|
|
|
TUPLE: mason-app < dispatcher ;
|
|
|
|
SYMBOL: can-make-releases?
|
|
|
|
can-make-releases? define-capability
|
|
|
|
: <mason-app> ( -- dispatcher )
|
|
mason-app new-dispatcher
|
|
<build-report-action>
|
|
"report" add-responder
|
|
|
|
<download-package-action>
|
|
{ mason-app "download-package" } >>template
|
|
"package" add-responder
|
|
|
|
<download-release-action>
|
|
{ mason-app "download-release" } >>template
|
|
"release" add-responder
|
|
|
|
<downloads-action>
|
|
{ mason-app "downloads" } >>template
|
|
"downloads" add-responder
|
|
|
|
<make-release-action>
|
|
{ mason-app "make-release" } >>template
|
|
<protected>
|
|
"make releases" >>description
|
|
{ can-make-releases? } >>capabilities
|
|
"make-release" add-responder
|
|
|
|
<status-update-action>
|
|
"status-update" add-responder ;
|