{-# 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)