snaplet-persistent-0.6.0: persistent snaplet for the Snap Framework

Safe HaskellNone





initPersistAuthManager :: SnapletLens b SessionManager -> ConnectionPool -> SnapletInit b (AuthManager b) Source #

Initializer that gets AuthSettings from a config file.

initPersistAuthManager' :: AuthSettings -> SnapletLens b SessionManager -> ConnectionPool -> SnapletInit b (AuthManager b) Source #

Initializer that lets you specify AuthSettings.

authEntityDefs :: [EntityDef] Source #

The list of entity definitions this snaplet exposes. You need them so that you can append to your application's list of entity definitions and perform the migration in one block.

See how this example combined an app's own entity definitions and the auth snaplet's in one migration block:

share [mkMigrate "migrateAll"] $
   authEntityDefs ++
   $(persistFileWith lowerCaseSettings "schema.txt")

Persistent Auth Data Types

Persistent creates its own data types mirroring the database schema, so we have to export this extra layer of types and conversion to AuthUser.

data SnapAuthUser Source #


PersistFieldSql SnapAuthUser Source # 
PersistEntity SnapAuthUser Source # 
PersistField SnapAuthUser Source # 
ToBackendKey SqlBackend SnapAuthUser Source # 
Eq (Key SnapAuthUser) Source # 
Ord (Key SnapAuthUser) Source # 
Read (Key SnapAuthUser) Source # 
Show (Key SnapAuthUser) Source # 
ToJSON (Key SnapAuthUser) Source # 
FromJSON (Key SnapAuthUser) Source # 
ToHttpApiData (Key SnapAuthUser) Source # 
FromHttpApiData (Key SnapAuthUser) Source # 
PathPiece (Key SnapAuthUser) Source # 
PersistFieldSql (Key SnapAuthUser) Source # 
PersistField (Key SnapAuthUser) Source # 
data Unique SnapAuthUser Source # 
data EntityField SnapAuthUser Source # 
data Key SnapAuthUser Source # 
type PersistEntityBackend SnapAuthUser Source # 

db2au :: Entity SnapAuthUser -> AuthUser Source #

Function to convert a SnapAuthUser entity into the auth snaplet's AuthUser.

dbUserSplices :: Monad n => Splices (RuntimeSplice n (Entity SnapAuthUser) -> Splice n) Source #

Splices for SnapAuthUser that are equivalent to the ones for AuthUser.

userDBKey :: AuthUser -> Maybe SnapAuthUserId Source #

Get the db key from an AuthUser