morpheus-graphql-0.14.0: test/Feature/Schema/API.hs
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeFamilies #-}
module Feature.Schema.API
( api,
)
where
import Data.Morpheus (interpreter)
import Data.Morpheus.Types (GQLRequest, GQLResponse, GQLType (..), RootResolver (..), Undefined (..))
import Data.Text (Text)
import qualified Feature.Schema.A2 as A2 (A (..))
import GHC.Generics (Generic)
data A = A
{ aText :: Text,
aInt :: Int
}
deriving (Generic, GQLType)
data Query (m :: * -> *) = Query
{ a1 :: A,
a2 :: A2.A
}
deriving (Generic, GQLType)
rootResolver :: RootResolver IO () Query Undefined Undefined
rootResolver =
RootResolver
{ queryResolver = Query {a1 = A "" 0, a2 = A2.A 0},
mutationResolver = Undefined,
subscriptionResolver = Undefined
}
api :: GQLRequest -> IO GQLResponse
api = interpreter rootResolver