lucienne-0.0.1: Lucienne/Controller/Imports.hs
{-| This is a utility module to avoid writing cumbersome import
statements of common modules in every controller.
-}
module Lucienne.Controller.Imports
( stringSUri, withData
-- Control.Monad
, mzero
-- Control.Monad.Trans
, lift
-- Happstack.Server
, Response, toResponse, ok, badRequest
-- Happstack.Server.RqData
, RqData, look
-- Lucienne.Controller
, Controller
-- Lucienne.Controller.Util
, decodeBody, seeHome, seeHomeWith, seeOther, seeFeed, lookParameter, readParameter
-- Lucienne.Controller.Message
, Message (..), getMessages, withMessage
-- Lucienne.Model.User
, User
-- Lucienne.Model.Util
, readObjectId, showObjectId
)
where
import Control.Monad (mzero)
import Control.Monad.Trans (lift)
import Happstack.Server (Response,toResponse,ok,badRequest)
import Happstack.Server.RqData (RqData,look)
import Happstack.Server.SURI (SURI,toSURI)
import Lucienne.Controller (Controller)
import Lucienne.Controller.Util
(decodeBody,seeHome,seeHomeWith,seeOther,seeFeed,lookParameter,readParameter)
import Lucienne.Controller.Message (Message(..), getMessages, withMessage)
import Lucienne.Model.User (User)
import Lucienne.Model.Util (readObjectId,showObjectId)
import qualified Happstack.Server.RqData as Rq
stringSUri :: String -> SURI
stringSUri = toSURI
withData :: RqData a -> (Either [String] a -> Controller b) -> Controller b
withData rqData f = Rq.getDataFn rqData >>= f