{-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE NoImplicitPrelude #-} module Data.Morpheus.Error.Utils ( errorMessage, globalErrorMessage, badRequestError, validationErrorMessage, ) where import Data.ByteString.Lazy.Char8 ( ByteString, pack, ) import Data.Morpheus.Types.Internal.AST.Base ( GQLError (..), GQLErrors, Message, Position (..), ValidationError (..), ) import Relude hiding (ByteString) validationErrorMessage :: Maybe Position -> Message -> ValidationError validationErrorMessage :: Maybe Position -> Message -> ValidationError validationErrorMessage Maybe Position pos Message message = Message -> [Position] -> ValidationError ValidationError Message message (Maybe Position -> [Position] forall a. Maybe a -> [a] maybeToList Maybe Position pos) errorMessage :: Position -> Message -> GQLErrors errorMessage :: Position -> Message -> GQLErrors errorMessage Position position Message message = [GQLError :: Message -> [Position] -> GQLError GQLError {Message message :: Message message :: Message message, locations :: [Position] locations = [Position position]}] globalErrorMessage :: Message -> GQLErrors globalErrorMessage :: Message -> GQLErrors globalErrorMessage Message message = [GQLError :: Message -> [Position] -> GQLError GQLError {Message message :: Message message :: Message message, locations :: [Position] locations = []}] badRequestError :: String -> ByteString badRequestError :: String -> ByteString badRequestError = (ByteString "Bad Request. Could not decode Request body: " ByteString -> ByteString -> ByteString forall a. Semigroup a => a -> a -> a <>) (ByteString -> ByteString) -> (String -> ByteString) -> String -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . String -> ByteString pack