morpheus-graphql-0.11.0: src/Data/Morpheus/Error/Utils.hs
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
module Data.Morpheus.Error.Utils
( errorMessage
, globalErrorMessage
, badRequestError
)
where
import Data.Semigroup ((<>))
import Data.ByteString.Lazy.Char8 ( ByteString
, pack
)
import Data.Morpheus.Types.Internal.AST.Base
( Position(..)
, GQLError(..)
, GQLErrors
)
import Data.Text ( Text )
errorMessage :: Position -> Text -> GQLErrors
errorMessage position message = [GQLError { message, locations = [position] }]
globalErrorMessage :: Text -> GQLErrors
globalErrorMessage message = [GQLError { message, locations = [] }]
badRequestError :: String -> ByteString
badRequestError = ("Bad Request. Could not decode Request body: " <>) . pack