servant-auth-token-leveldb-0.6.0.0: Leveldb backend for servant-auth-token server

Safe HaskellNone
LanguageHaskell2010

Servant.Server.Auth.Token.LevelDB

Synopsis

Documentation

data LevelDBBackendT m a Source #

Monad transformer that implements storage backend

Instances
MonadCatch m => MonadError ServantErr (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Monad m => Monad (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Functor m => Functor (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Methods

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

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

Applicative m => Applicative (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

MonadIO m => MonadIO (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Methods

liftIO :: IO a -> LevelDBBackendT m a #

MonadThrow m => MonadThrow (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Methods

throwM :: Exception e => e -> LevelDBBackendT m a #

MonadCatch m => MonadCatch (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Methods

catch :: Exception e => LevelDBBackendT m a -> (e -> LevelDBBackendT m a) -> LevelDBBackendT m a #

(MonadThrow m, MonadIO m) => MonadResource (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

MonadUnliftIO m => MonadUnliftIO (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Methods

askUnliftIO :: LevelDBBackendT m (UnliftIO (LevelDBBackendT m)) #

withRunInIO :: ((forall a. LevelDBBackendT m a -> IO a) -> IO b) -> LevelDBBackendT m b #

(MonadIO m, MonadThrow m, MonadMask m) => HasStorage (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Methods

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

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

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

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

deleteUserPermissions :: UserImplId -> LevelDBBackendT m () #

insertUserPerm :: UserPerm -> LevelDBBackendT m UserPermId #

insertUserImpl :: UserImpl -> LevelDBBackendT m UserImplId #

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

deleteUserImpl :: UserImplId -> LevelDBBackendT m () #

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

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

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

clearUserImplGroups :: UserImplId -> LevelDBBackendT m () #

insertAuthUserGroup :: AuthUserGroup -> LevelDBBackendT m AuthUserGroupId #

insertAuthUserGroupUsers :: AuthUserGroupUsers -> LevelDBBackendT m AuthUserGroupUsersId #

insertAuthUserGroupPerms :: AuthUserGroupPerms -> LevelDBBackendT m AuthUserGroupPermsId #

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

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

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

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

clearAuthUserGroupUsers :: AuthUserGroupId -> LevelDBBackendT m () #

clearAuthUserGroupPerms :: AuthUserGroupId -> LevelDBBackendT m () #

deleteAuthUserGroup :: AuthUserGroupId -> LevelDBBackendT m () #

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

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

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

insertSingleUseCode :: UserSingleUseCode -> LevelDBBackendT m UserSingleUseCodeId #

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

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

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

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

insertUserRestore :: UserRestore -> LevelDBBackendT m UserRestoreId #

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

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

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

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

insertAuthToken :: AuthToken -> LevelDBBackendT m AuthTokenId #

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

Monad m => HasAuthConfig (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

Monad m => MonadReader (AuthConfig, LevelDBEnv) (LevelDBBackendT m) Source # 
Instance details

Defined in Servant.Server.Auth.Token.LevelDB

runLevelDBBackendT :: (MonadUnliftIO m, MonadCatch m) => AuthConfig -> LevelDBEnv -> LevelDBBackendT m a -> m (Either ServantErr a) Source #

Execute backend action with given connection pool.

data LevelDBEnv Source #

Holds together db reference and options for read/write and mutex

newLevelDBEnv :: MonadIO m => DB -> ReadOptions -> WriteOptions -> m LevelDBEnv Source #

Make new environment for execution of LevelDB operations