Safe Haskell | None |
---|
IHP.LoginSupport.Helper.Controller
Synopsis
- currentUser :: forall user. (?context :: ControllerContext, HasNewSessionUrl user, Typeable user, user ~ CurrentUserRecord) => user
- currentUserOrNothing :: forall user. (?context :: ControllerContext, HasNewSessionUrl user, Typeable user, user ~ CurrentUserRecord) => Maybe user
- currentUserId :: forall user userId. (?context :: ControllerContext, HasNewSessionUrl user, HasField "id" user userId, Typeable user, user ~ CurrentUserRecord) => userId
- ensureIsUser :: forall user userId. (?context :: ControllerContext, HasNewSessionUrl user, HasField "id" user userId, Typeable user, user ~ CurrentUserRecord) => IO ()
- class HasNewSessionUrl user
- currentAdmin :: forall admin. (?context :: ControllerContext, HasNewSessionUrl admin, Typeable admin) => admin
- currentAdminOrNothing :: forall admin. (?context :: ControllerContext, HasNewSessionUrl admin, Typeable admin) => Maybe admin
- currentAdminId :: forall admin adminId. (?context :: ControllerContext, HasNewSessionUrl admin, HasField "id" admin adminId, Typeable admin) => adminId
- ensureIsAdmin :: forall admin adminId. (?context :: ControllerContext, HasNewSessionUrl admin, Typeable admin) => IO ()
- login :: forall user id. (?context :: ControllerContext, KnownSymbol (GetModelName user), HasField "id" user id, Show id) => user -> IO ()
- sessionKey :: forall user. KnownSymbol (GetModelName user) => Text
- logout :: forall user id. (?context :: ControllerContext, KnownSymbol (GetModelName user), HasField "id" user id, Show id) => user -> IO ()
- type family CurrentUserRecord
- type family CurrentAdminRecord
- module IHP.AuthSupport.Authorization
- module IHP.AuthSupport.Authentication
Documentation
currentUser :: forall user. (?context :: ControllerContext, HasNewSessionUrl user, Typeable user, user ~ CurrentUserRecord) => user Source #
currentUserOrNothing :: forall user. (?context :: ControllerContext, HasNewSessionUrl user, Typeable user, user ~ CurrentUserRecord) => Maybe user Source #
currentUserId :: forall user userId. (?context :: ControllerContext, HasNewSessionUrl user, HasField "id" user userId, Typeable user, user ~ CurrentUserRecord) => userId Source #
ensureIsUser :: forall user userId. (?context :: ControllerContext, HasNewSessionUrl user, HasField "id" user userId, Typeable user, user ~ CurrentUserRecord) => IO () Source #
class HasNewSessionUrl user Source #
Minimal complete definition
currentAdmin :: forall admin. (?context :: ControllerContext, HasNewSessionUrl admin, Typeable admin) => admin Source #
currentAdminOrNothing :: forall admin. (?context :: ControllerContext, HasNewSessionUrl admin, Typeable admin) => Maybe admin Source #
currentAdminId :: forall admin adminId. (?context :: ControllerContext, HasNewSessionUrl admin, HasField "id" admin adminId, Typeable admin) => adminId Source #
ensureIsAdmin :: forall admin adminId. (?context :: ControllerContext, HasNewSessionUrl admin, Typeable admin) => IO () Source #
login :: forall user id. (?context :: ControllerContext, KnownSymbol (GetModelName user), HasField "id" user id, Show id) => user -> IO () Source #
Log's in an entity Examples: ``` let user :: User = ... in login user let admin :: Admin = ... in login admin ```
sessionKey :: forall user. KnownSymbol (GetModelName user) => Text Source #
logout :: forall user id. (?context :: ControllerContext, KnownSymbol (GetModelName user), HasField "id" user id, Show id) => user -> IO () Source #
type family CurrentUserRecord Source #
type family CurrentAdminRecord Source #