about summary refs log blame commit diff
path: root/web/panettone/src/packages.lisp
blob: 3b6edcdd14e385c6b15b2f9cc94745d150d27e77 (plain) (tree)
1
2
3
4
5
6
7
8
9




                                      



                         




                                             
                         
                   
                     
                                           
 



                                            
                                                    




                                                                 

                           

                                                               


                              


                                                                              

                                                                          
                                               
 

                

                                                        
                     

                                         

                                   
                                            
                                                                        
                                 


                                                              

                                                    
                                                      
                 
                                           
(defpackage panettone.util
  (:use :cl :klatre)
  (:import-from :alexandria :when-let)
  (:export :integer-env))

(defpackage panettone.css
  (:use :cl :lass)
  (:export :styles))

(defpackage panettone.inline-markdown
  (:use :cl)
  (:import-from :alexandria :define-constant)
  (:export :render-inline-markdown))

(defpackage panettone.irc
  (:nicknames :irc)
  (:use :cl :usocket)
  (:export :noping :send-irc-notification))

(defpackage :panettone.authentication
  (:nicknames :authn)
  (:use :cl :panettone.util :klatre)
  (:import-from :defclass-std :defclass/std)
  (:import-from :alexandria :when-let :with-gensyms)
  (:export
   :*user* :*ldap*
   :user :cn :dn :mail :displayname
   :connect-ldap :find-user :find-user-by-dn :authenticate-user))

(defpackage panettone.model
  (:nicknames :model)
  (:use :cl :panettone.util :klatre :postmodern :iterate)
  (:import-from :alexandria :if-let :when-let :define-constant)
  (:export
   :connect-postgres :ddl/init

   :issue :issue-comment :issue-event
   :id :subject :body :author-dn :issue-id :status :created-at :acting-user-dn
   :field :previous-value :new-value

   :get-issue :issue-exists-p :list-issues :create-issue :set-issue-status
   :update-issue :delete-issue :issue-not-found

   :issue-events

   :issue-comments :num-comments :create-issue-comment))

(defpackage panettone
  (:use :cl :klatre :easy-routes :iterate
        :panettone.util
        :panettone.authentication
        :panettone.inline-markdown)
  (:import-from :defclass-std :defclass/std)
  (:import-from :alexandria :if-let :when-let :switch :alist-hash-table)
  (:import-from :cl-ppcre :split)
  (:import-from
   :panettone.model
   :id :subject :body :author-dn :issue-id :status :created-at
   :field :previous-value :new-value :acting-user-dn
   :issue-comments :num-comments :issue-events)
  (:import-from :panettone.irc :send-irc-notification)
  (:shadow :next)
  (:export :start-pannetone :config :main))