Guest User

Untitled

a guest
Jul 22nd, 2020
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. ;;;; conway-ff-api.asd
  2. (asdf:defsystem "conway-ff-api"
  3. :description "Simple app for conway's class"
  4. :version "0.0.1"
  5. :depends-on ("hunchentoot" "easy-routes" "jonathan" "mito" "cl-pass")
  6. :components ((:file "packages")
  7. (:file "db" :depends-on ("packages"))
  8. (:file "server" :depends-on ("packages"))
  9. (:file "main" :depends-on ("server"))))
  10. ---------------------------------------------
  11. ;;;; packages.lisp
  12. (defpackage :server
  13. (:use :cl)
  14. (:export
  15. :start-server
  16. :stop-server))
  17.  
  18. (defpackage :db
  19. (:use :cl)
  20. (:export
  21. :connect-db
  22. :disconnect-db
  23. :add-user
  24. :modify-user))
  25. ------------------------------------------------
  26. ;;;; server.lisp
  27. (in-package :server)
  28.  
  29. ;; create variable to store acceptor
  30. (defvar *acceptor* nil)
  31.  
  32. ;; start server
  33. (defun start-server ()
  34. (stop-server)
  35. (hunchentoot:start (setf *acceptor*
  36. (make-instance 'easy-routes:easy-routes-acceptor
  37. :port 5000))))
  38.  
  39. ;; function to stop server
  40. (defun stop-server ()
  41. (when *acceptor*
  42. (when (hunchentoot:started-p *acceptor*)
  43. (hunchentoot:stop *acceptor*))))
  44.  
  45. ;; then some routes defined using hunchentoot with easy-routes
  46.  
  47. --------------- PROBLEMS BEGIN HERE --------------------
  48. ;;;; db.lisp
  49. (in-package :db)
  50.  
  51. (defun connect-db ()
  52. "Connect to the database"
  53. (mito:connect-toplevel :mysql
  54. :database-name "something"
  55. :host "blah"
  56. :port 3306
  57. :username "yup"
  58. :password "nope"))
  59.  
  60. (defun disconnect-db ()
  61. (mito:disconnect-toplevel))
  62.  
  63. ;; Database setup
  64. (mito:deftable users ()
  65. ((name :col-type (:varchar 128))
  66. (password :col-type (:varchar 255))
  67. (team-name :col-type (:varchar 255)))
  68. (:conc-name my-))
  69.  
  70. ;; migration functions
  71.  
  72. (defun create-users-table ()
  73. (mapc #'mito:execute-sql (mito:table-definition 'users)))
Add Comment
Please, Sign In to add comment