{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
module Rendering.Schema
( schemaProxy
) where
import Data.Morpheus.Document (importGQLDocumentWithNamespace)
import Data.Morpheus.Kind (SCALAR)
import Data.Morpheus.Types (GQLRootResolver (..), GQLScalar (..), GQLType (..), ID (..), ScalarValue (..),
Undefined (..))
import Data.Proxy (Proxy (..))
import Data.Text (Text)
import GHC.Generics (Generic)
data TestScalar =
TestScalar
deriving (Show, Generic)
instance GQLType TestScalar where
type KIND TestScalar = SCALAR
instance GQLScalar TestScalar where
parseValue _ = pure TestScalar
serialize TestScalar = Int 0
importGQLDocumentWithNamespace "test/Rendering/schema.gql"
schemaProxy :: Proxy (GQLRootResolver IO () Query Undefined Undefined)
schemaProxy = Proxy @(GQLRootResolver IO () Query Undefined Undefined)