From 52c0408569a0b1de932d52e71fee5fb0163782e2 Mon Sep 17 00:00:00 2001 From: Colin Okay Date: Thu, 27 Oct 2022 07:17:04 -0500 Subject: Add: session file --- session.lisp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 session.lisp (limited to 'session.lisp') diff --git a/session.lisp b/session.lisp new file mode 100644 index 0000000..770bc8d --- /dev/null +++ b/session.lisp @@ -0,0 +1,29 @@ +;;;; session.lisp + +(in-package :vampire) + +;;; session parameter keys + +(defparameter +session-key+ "vampire-session-key" + "Stored in the browser's local storage") + +(defparameter +playlist-connection-key+ "playlist-connection-key" + "Stored in the clog connection object") + +;;; SESSION ACCESSORS + +(defun session-key (window) + (jonathan:parse (storage-element window :local +session-key+))) + +(defun (setf session-key) (val window) + (setf (storage-element window :local +session-key+) (jonathan:to-json val))) + +(defun session-user (clog-obj) + (user-with-key (session-key (window (connection-body clog-obj))))) + +(defun cur-playlist-ctl (obj) + (connection-data-item obj +playlist-connection-key+)) + +(defun (setf cur-playlist-ctl) (newval obj) + (setf (connection-data-item obj +playlist-connection-key+) newval)) + -- cgit v1.2.3