diff options
-rw-r--r-- | api.lisp | 2 | ||||
-rw-r--r-- | dnd.lisp | 16 | ||||
-rw-r--r-- | init.lisp | 6 | ||||
-rw-r--r-- | package.lisp | 47 |
4 files changed, 42 insertions, 29 deletions
@@ -13,7 +13,7 @@ (declare (ignore ignore)) t) -(defendpoint api :get "/heroes" () +(defendpoint* :get "/heroes" () (:auth t) "Get a list of heros sorted by renown" (json:to-json @@ -1,3 +1,19 @@ ;;;; dnd.lisp (in-package #:dnd) + + +(defvar *dnd-arena* nil + "The instance of the HTTP server.") + +(defun conjure-arena () + (setf *dnd-arena* (lzb:create-server)) + (lzb:install-app + *dnd-arena* + (lzb:app 'dnd.api:dnd.api)) ; annoying but needed for now + (lzb:start-server *dnd-arena*)) + + +(defun start () + (api:init-db) + (conjure-arena)) @@ -10,12 +10,6 @@ :directory (merge-pathnames "dnd-store/" (user-homedir-pathname)) :subsystems (list (make-instance 'db:store-object-subsystem))))) -(defvar *dnd-arena* nil - "The instance of the HTTP server.") -(defun conjure-arena () - (setf *dnd-arena* (lzb:create-server)) - (lzb:install-app *dnd-arena* 'api) - (lzb:start-server *dnd-arena*)) diff --git a/package.lisp b/package.lisp index ff06a36..16473c5 100644 --- a/package.lisp +++ b/package.lisp @@ -1,27 +1,30 @@ ;;;; package.lisp -(defpackage #:dnd +(defpackage #:dnd.api (:use #:cl) - (:local-nicknames (#:db #:bknr.datastore) - (#:idx #:bknr.indices) - (#:lzb #:lazybones) - (#:re #:cl-ppcre) - (#:json #:jonathan)) - (:import-from #:lazybones - #:defendpoint - #:defendpoint*) - (:import-from #:derrida - #:with-plist)) + (:local-nicknames + (#:db #:bknr.datastore) + (#:idx #:bknr.indices) + (#:lzb #:lazybones) + (#:re #:cl-ppcre) + (#:json #:jonathan)) + (:import-from + #:lazybones + #:defendpoint + #:defendpoint*) + (:import-from + #:derrida + #:with-plist) + (:export + #:dnd.api + #:init-db)) -(defpackage #:dnd.api +(defpackage #:dnd (:use #:cl) - (:local-nicknames (#:db #:bknr.datastore) - (#:idx #:bknr.indices) - (#:lzb #:lazybones) - (#:re #:cl-ppcre) - (#:json #:jonathan)) - (:import-from #:lazybones - #:defendpoint - #:defendpoint*) - (:import-from #:derrida - #:with-plist)) + (:local-nicknames + (#:lzb #:lazybones) + (#:api #:dnd.api)) + (:export + #:start)) + + ; the app's name |