module Controller.Helper ( jsonOrBadRequest ) where import Data.Aeson (ToJSON) import Data.Text (Text) import qualified Data.Text.Lazy as LT import qualified Network.HTTP.Types.Status as Status import Web.Scotty (ActionM) import qualified Web.Scotty as S jsonOrBadRequest :: forall a. (ToJSON a) => Either Text a -> ActionM () jsonOrBadRequest (Left message) = do S.status Status.badRequest400 S.text (LT.fromStrict message) jsonOrBadRequest (Right a) = S.json a