JackRose-0.8: Spaced repetition web server

Copyright(c) Michael Mounteney, 2015
LicenseBSD 3 clause
Maintainerthe project name, all lower case, at landcroft dot com
Stabilityexperimental
Portabilityundefined
Safe HaskellNone
LanguageHaskell2010

Foundation

Contents

Description

This module is special inasmuch as it seems to be necessary, in order to fit with the TH magic, to avoid module namespaces. Therefore all symbols are exported (even selective exporting doesn't work) and the module is imported without qualified.

Synopsis

Documentation

type Destination = Route JRState Source #

This seems to be needed for older compilers; ghc 8.0.2 can use 'Foundation.Route JRState' directly.

Orphan instances

RouteAttrs JRState Source # 

Methods

routeAttrs :: Route JRState -> Set Text

RenderRoute JRState Source # 

Associated Types

data Route JRState :: *

Methods

renderRoute :: Route JRState -> ([Text], [(Text, Text)])

ParseRoute JRState Source # 

Methods

parseRoute :: ([Text], [(Text, Text)]) -> Maybe (Route JRState)

Yesod JRState Source # 

Methods

approot :: Approot JRState

errorHandler :: ErrorResponse -> HandlerT JRState IO TypedContent

defaultLayout :: WidgetT JRState IO () -> HandlerT JRState IO Html

urlRenderOverride :: JRState -> Route JRState -> Maybe Builder

urlParamRenderOverride :: JRState -> Route JRState -> [(Text, Text)] -> Maybe Builder

isAuthorized :: Route JRState -> Bool -> HandlerT JRState IO AuthResult

isWriteRequest :: Route JRState -> HandlerT JRState IO Bool

authRoute :: JRState -> Maybe (Route JRState)

cleanPath :: JRState -> [Text] -> Either [Text] [Text]

joinPath :: JRState -> Text -> [Text] -> [(Text, Text)] -> Builder

addStaticContent :: Text -> Text -> ByteString -> HandlerT JRState IO (Maybe (Either Text (Route JRState, [(Text, Text)])))

maximumContentLength :: JRState -> Maybe (Route JRState) -> Maybe Word64

makeLogger :: JRState -> IO Logger

messageLoggerSource :: JRState -> Logger -> Loc -> LogSource -> LogLevel -> LogStr -> IO ()

jsLoader :: JRState -> ScriptLoadPosition JRState

makeSessionBackend :: JRState -> IO (Maybe SessionBackend)

fileUpload :: JRState -> RequestBodyLength -> FileUpload

shouldLog :: JRState -> LogSource -> LogLevel -> Bool

shouldLogIO :: JRState -> LogSource -> LogLevel -> IO Bool

yesodMiddleware :: ToTypedContent res => HandlerT JRState IO res -> HandlerT JRState IO res

yesodWithInternalState :: JRState -> Maybe (Route JRState) -> (InternalState -> IO a) -> IO a

YesodPersist JRState Source # 

Associated Types

type YesodPersistBackend JRState :: *

Methods

runDB :: YesodDB JRState a -> HandlerT JRState IO a

YesodAuth JRState Source # 

Associated Types

type AuthId JRState :: *

Methods

authLayout :: WidgetT JRState IO () -> HandlerT JRState IO Html

loginDest :: JRState -> Route JRState

logoutDest :: JRState -> Route JRState

authenticate :: Creds JRState -> HandlerT JRState IO (AuthenticationResult JRState)

getAuthId :: Creds JRState -> HandlerT JRState IO (Maybe (AuthId JRState))

authPlugins :: JRState -> [AuthPlugin JRState]

loginHandler :: HandlerT Auth (HandlerT JRState IO) Html

renderAuthMessage :: JRState -> [Text] -> AuthMessage -> Text

redirectToReferer :: JRState -> Bool

authHttpManager :: JRState -> Manager

onLogin :: HandlerT JRState IO ()

onLogout :: HandlerT JRState IO ()

maybeAuthId :: HandlerT JRState IO (Maybe (AuthId JRState))

onErrorHtml :: MonadResourceBase m => Route JRState -> Text -> HandlerT JRState m Html

runHttpRequest :: Request -> (Response BodyReader -> HandlerT JRState IO a) -> HandlerT JRState IO a

AccountSendEmail JRState Source # 

Methods

sendVerifyEmail :: Username -> Text -> Text -> HandlerT JRState IO ()

sendNewPasswordEmail :: Username -> Text -> Text -> HandlerT JRState IO ()

RenderMessage JRState FormMessage Source # 

Methods

renderMessage :: JRState -> [Lang] -> FormMessage -> Text

Eq (Route JRState) Source # 

Methods

(==) :: Route JRState -> Route JRState -> Bool #

(/=) :: Route JRState -> Route JRState -> Bool #

Read (Route JRState) Source # 

Methods

readsPrec :: Int -> ReadS (Route JRState) #

readList :: ReadS [Route JRState] #

readPrec :: ReadPrec (Route JRState) #

readListPrec :: ReadPrec [Route JRState] #

Show (Route JRState) Source # 

Methods

showsPrec :: Int -> Route JRState -> ShowS #

show :: Route JRState -> String #

showList :: [Route JRState] -> ShowS #

YesodAuthAccount (AccountPersistDB JRState User) JRState Source # 

Methods

runAccountDB :: AccountPersistDB JRState User a -> HandlerT JRState IO a

checkValidUsername :: (MonadHandler m, (* ~ HandlerSite m) JRState) => Username -> m (Either Text Username)

unregisteredLogin :: UserAccount (AccountPersistDB JRState User) -> HandlerT Auth (HandlerT JRState IO) Html

getNewAccountR :: HandlerT Auth (HandlerT JRState IO) Html

postNewAccountR :: HandlerT Auth (HandlerT JRState IO) Html

allowPasswordReset :: JRState -> Bool

getResetPasswordR :: HandlerT Auth (HandlerT JRState IO) Html

setPasswordHandler :: UserAccount (AccountPersistDB JRState User) -> HandlerT Auth (HandlerT JRState IO) Html

renderAccountMessage :: JRState -> [Text] -> AccountMsg -> Text