packages feed

happs-tutorial-0.4.4: src/SerializeableSessions.hs

{-# LANGUAGE TemplateHaskell, DeriveDataTypeable #-}

module SerializeableSessions where

import Data.Generics --for deriving Typeable
import HAppS.State -- for deriving Serialize

import SerializeableUsers (UserName (..))

import qualified Data.Map as M




type SessionKey = Integer                                                                   
newtype SessionData = SessionData {                                                            
  sesUser :: UserName
} deriving (Read,Show,Eq,Typeable,Data,Ord)
instance Version SessionData 
$(deriveSerialize ''SessionData)




data Sessions a = Sessions {unsession::M.Map SessionKey a}                                  
  deriving (Read,Show,Eq,Typeable,Data)
instance Version (Sessions a)
$(deriveSerialize ''Sessions)