servant-auth-token-persistent-0.6.3.0: Persistent backend for servant-auth-token server

Safe HaskellNone
LanguageHaskell2010

Servant.Server.Auth.Token.Persistent

Synopsis

Documentation

data PersistentBackendT m a Source #

Monad transformer that implements storage backend

Instances

MonadTrans PersistentBackendT Source # 

Methods

lift :: Monad m => m a -> PersistentBackendT m a #

MonadRWS r w s m => MonadRWS r w s (PersistentBackendT m) Source # 
MonadReader r m => MonadReader r (PersistentBackendT m) Source # 

Methods

ask :: PersistentBackendT m r #

local :: (r -> r) -> PersistentBackendT m a -> PersistentBackendT m a #

reader :: (r -> a) -> PersistentBackendT m a #

MonadState s m => MonadState s (PersistentBackendT m) Source # 

Methods

get :: PersistentBackendT m s #

put :: s -> PersistentBackendT m () #

state :: (s -> (a, s)) -> PersistentBackendT m a #

Monad m => MonadError ServantErr (PersistentBackendT m) Source # 
MonadWriter w m => MonadWriter w (PersistentBackendT m) Source # 

Methods

writer :: (a, w) -> PersistentBackendT m a #

tell :: w -> PersistentBackendT m () #

listen :: PersistentBackendT m a -> PersistentBackendT m (a, w) #

pass :: PersistentBackendT m (a, w -> w) -> PersistentBackendT m a #

Monad m => Monad (PersistentBackendT m) Source # 
Functor m => Functor (PersistentBackendT m) Source # 

Methods

fmap :: (a -> b) -> PersistentBackendT m a -> PersistentBackendT m b #

(<$) :: a -> PersistentBackendT m b -> PersistentBackendT m a #

Monad m => Applicative (PersistentBackendT m) Source # 
MonadIO m => MonadIO (PersistentBackendT m) Source # 

Methods

liftIO :: IO a -> PersistentBackendT m a #

MonadCont m => MonadCont (PersistentBackendT m) Source # 

Methods

callCC :: ((a -> PersistentBackendT m b) -> PersistentBackendT m a) -> PersistentBackendT m a #

MonadIO m => HasStorage (PersistentBackendT m) Source # 

Methods

getUserImpl :: UserImplId -> PersistentBackendT m (Maybe UserImpl) #

getUserImplByLogin :: Login -> PersistentBackendT m (Maybe (WithId UserImplId UserImpl)) #

listUsersPaged :: Page -> PageSize -> PersistentBackendT m ([WithId UserImplId UserImpl], Word) #

getUserImplPermissions :: UserImplId -> PersistentBackendT m [WithId UserPermId UserPerm] #

deleteUserPermissions :: UserImplId -> PersistentBackendT m () #

insertUserPerm :: UserPerm -> PersistentBackendT m UserPermId #

insertUserImpl :: UserImpl -> PersistentBackendT m UserImplId #

replaceUserImpl :: UserImplId -> UserImpl -> PersistentBackendT m () #

deleteUserImpl :: UserImplId -> PersistentBackendT m () #

hasPerm :: UserImplId -> Permission -> PersistentBackendT m Bool #

getFirstUserByPerm :: Permission -> PersistentBackendT m (Maybe (WithId UserImplId UserImpl)) #

selectUserImplGroups :: UserImplId -> PersistentBackendT m [WithId AuthUserGroupUsersId AuthUserGroupUsers] #

clearUserImplGroups :: UserImplId -> PersistentBackendT m () #

insertAuthUserGroup :: AuthUserGroup -> PersistentBackendT m AuthUserGroupId #

insertAuthUserGroupUsers :: AuthUserGroupUsers -> PersistentBackendT m AuthUserGroupUsersId #

insertAuthUserGroupPerms :: AuthUserGroupPerms -> PersistentBackendT m AuthUserGroupPermsId #

getAuthUserGroup :: AuthUserGroupId -> PersistentBackendT m (Maybe AuthUserGroup) #

listAuthUserGroupPermissions :: AuthUserGroupId -> PersistentBackendT m [WithId AuthUserGroupPermsId AuthUserGroupPerms] #

listAuthUserGroupUsers :: AuthUserGroupId -> PersistentBackendT m [WithId AuthUserGroupUsersId AuthUserGroupUsers] #

replaceAuthUserGroup :: AuthUserGroupId -> AuthUserGroup -> PersistentBackendT m () #

clearAuthUserGroupUsers :: AuthUserGroupId -> PersistentBackendT m () #

clearAuthUserGroupPerms :: AuthUserGroupId -> PersistentBackendT m () #

deleteAuthUserGroup :: AuthUserGroupId -> PersistentBackendT m () #

listGroupsPaged :: Page -> PageSize -> PersistentBackendT m ([WithId AuthUserGroupId AuthUserGroup], Word) #

setAuthUserGroupName :: AuthUserGroupId -> Text -> PersistentBackendT m () #

setAuthUserGroupParent :: AuthUserGroupId -> Maybe AuthUserGroupId -> PersistentBackendT m () #

insertSingleUseCode :: UserSingleUseCode -> PersistentBackendT m UserSingleUseCodeId #

setSingleUseCodeUsed :: UserSingleUseCodeId -> Maybe UTCTime -> PersistentBackendT m () #

getUnusedCode :: SingleUseCode -> UserImplId -> UTCTime -> PersistentBackendT m (Maybe (WithId UserSingleUseCodeId UserSingleUseCode)) #

invalidatePermanentCodes :: UserImplId -> UTCTime -> PersistentBackendT m () #

selectLastRestoreCode :: UserImplId -> UTCTime -> PersistentBackendT m (Maybe (WithId UserRestoreId UserRestore)) #

insertUserRestore :: UserRestore -> PersistentBackendT m UserRestoreId #

findRestoreCode :: UserImplId -> RestoreCode -> UTCTime -> PersistentBackendT m (Maybe (WithId UserRestoreId UserRestore)) #

replaceRestoreCode :: UserRestoreId -> UserRestore -> PersistentBackendT m () #

findAuthToken :: UserImplId -> UTCTime -> PersistentBackendT m (Maybe (WithId AuthTokenId AuthToken)) #

findAuthTokenByValue :: SimpleToken -> PersistentBackendT m (Maybe (WithId AuthTokenId AuthToken)) #

insertAuthToken :: AuthToken -> PersistentBackendT m AuthTokenId #

replaceAuthToken :: AuthTokenId -> AuthToken -> PersistentBackendT m () #

Monad m => HasAuthConfig (PersistentBackendT m) Source # 

runPersistentBackendT :: MonadBaseControl IO m => AuthConfig -> ConnectionPool -> PersistentBackendT m a -> m (Either ServantErr a) Source #

Execute backend action with given connection pool.

liftDB :: Monad m => SqlPersistT m a -> PersistentBackendT m a Source #

Helper to execute DB actions in backend monad