serversession-backend-persistent-1.0.2: Storage backend for serversession using persistent and an RDBMS.

Safe HaskellNone
LanguageHaskell98

Web.ServerSession.Backend.Persistent.Internal.Impl

Description

Internal module exposing the guts of the package. Use at your own risk. No API stability guarantees apply.

Synopsis

Documentation

data PersistentSession sess Source #

Entity corresponding to a Session.

We're bending persistent in ways it wasn't expected to. In particular, this entity is parametrized over the session type.

Constructors

PersistentSession 

Fields

Instances

Eq (Key (PersistentSession sess)) Source # 
Eq (Decomposed sess) => Eq (PersistentSession sess) Source # 
Ord (Key (PersistentSession sess)) Source # 
Ord (Decomposed sess) => Ord (PersistentSession sess) Source # 
Read (Key (PersistentSession sess)) Source # 
Show (Key (PersistentSession sess)) Source # 
Show (Decomposed sess) => Show (PersistentSession sess) Source # 
ToJSON (Key (PersistentSession sess)) Source # 
(ToJSON (Decomposed sess), PersistFieldSql (Decomposed sess)) => ToJSON (Entity (PersistentSession sess)) Source # 
ToJSON (Decomposed sess) => ToJSON (PersistentSession sess) Source # 
FromJSON (Key (PersistentSession sess)) Source # 
(FromJSON (Decomposed sess), PersistFieldSql (Decomposed sess)) => FromJSON (Entity (PersistentSession sess)) Source # 
FromJSON (Decomposed sess) => FromJSON (PersistentSession sess) Source # 
PathPiece (Key (PersistentSession sess)) Source # 
PersistFieldSql (Key (PersistentSession sess)) Source # 

Methods

sqlType :: Proxy * (Key (PersistentSession sess)) -> SqlType #

PersistFieldSql (Decomposed sess) => PersistEntity (PersistentSession sess) Source # 
PersistField (Key (PersistentSession sess)) Source # 
data Unique (PersistentSession sess) Source # 
data EntityField (PersistentSession sess) Source # 
data Key (PersistentSession sess) Source # 
type PersistEntityBackend (PersistentSession sess) Source # 

data family EntityField record a :: * #

An EntityField is parameterised by the Haskell record it belongs to and the additional type of that field.

serverSessionDefs :: forall sess. PersistEntity (PersistentSession sess) => Proxy sess -> [EntityDef] Source #

Entity definitions needed to generate the SQL schema for SqlStorage. Example using SessionMap:

serverSessionDefs (Proxy :: Proxy SessionMap)

psKey :: SessionId sess -> Key (PersistentSession sess) Source #

Generate a key to the entity from the session ID.

newtype SqlStorage sess Source #

SQL session storage backend using persistent.

Constructors

SqlStorage 

Fields

throwSS :: Storage (SqlStorage sess) => StorageException (SqlStorage sess) -> TransactionM (SqlStorage sess) a Source #

Specialization of throwIO for SqlStorage.