diff options
Diffstat (limited to 'src/bgpview')
-rw-r--r-- | src/bgpview/bgpview.lisp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/bgpview/bgpview.lisp b/src/bgpview/bgpview.lisp new file mode 100644 index 0000000..d6adce4 --- /dev/null +++ b/src/bgpview/bgpview.lisp @@ -0,0 +1,41 @@ +(in-package :bgp-logger) + +(defwebapp bgpview-app + :prefix "/bgpview" + :description "FIXME: description of bgpview app" + :autostart nil + :debug t) + +(defstore *bgpview-store* :prevalence + (merge-pathnames (make-pathname :directory '(:relative "data")) + (asdf-system-directory :bgpview))) + +(defun db-test (&rest args) + (declare (ignore args)) + (with-connection *db-spec* + (let ((msgs (query-dao 'bgp-message + (:limit + (:select 'timestamp 'prefix 'label 'path 'nexthop + :from 'bgp-message) + 20)))) + ;(dolist (m msgs) (make-instance 'dataform :data m))))) + (render-object-view msgs '(table bgp-message))))) + +(defun init-user-session (comp) + (setf (composite-widgets comp) + (list "Welcome to BGP View" + (make-instance 'composite + :widgets (list "First widget." + (lambda (&rest args) + (declare (ignore args)) + (with-html + (:p "Second widget."))) + #'db-test))))) + +(defun start-bgpview (&rest args) + (apply #'start-weblocks args) + (start-webapp 'bgpview-app)) + +(defun stop-bgpview () + (stop-webapp 'bgpview-app) + (stop-weblocks)) |