{-# OPTIONS_GHC -XDeriveDataTypeable #-}
{-# LANGUAGE TemplateHaskell #-}
module SessionState where
import HAppS.State
import Data.Generics
import qualified Data.Map as M
type SessionKey = Integer
data SessionData = SessionData {
sesUser :: String
} deriving (Read,Show,Eq,Typeable,Data)
data Sessions a = Sessions {unsession::M.Map SessionKey a}
deriving (Read,Show,Eq,Typeable,Data)
instance Version SessionData
instance Version (Sessions a)
$(deriveSerialize ''SessionData)
$(deriveSerialize ''Sessions)