happstack-auth-0.2: src/Happstack/Auth/Internal/Data/AuthState.hs
{-# LANGUAGE TemplateHaskell, GeneralizedNewtypeDeriving, DeriveDataTypeable,
TypeFamilies
#-}
module Happstack.Auth.Internal.Data.AuthState where
import Data.Data
import Happstack.Data
import Happstack.Data.IxSet
import Happstack.State
import qualified Data.Map as M
import Happstack.Auth.Internal.Data.SessionData
import Happstack.Auth.Internal.Data.Sessions
import Happstack.Auth.Internal.Data.User
import Happstack.Auth.Internal.Data.UserId
-- | Add this to your Dependency-List of your application state
data AuthState = AuthState
{ sessions :: Sessions SessionData
, users :: UserDB
, nextUid :: UserId
}
deriving (Show,Typeable,Data)
instance Version AuthState
$(deriveSerialize ''AuthState)
instance Component AuthState where
type Dependencies AuthState = End
initialValue = AuthState (Sessions M.empty) empty 0