morpheus-graphql-server-0.26.0: test/Feature/NamedResolvers/Deities.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TypeFamilies #-}
module Feature.NamedResolvers.Deities where
import Data.Morpheus.Server.CodeGen.Internal
import Data.Morpheus.Server.Types
data Power
= Shapeshifting
| Thunderbolt
deriving (Generic, Show)
instance GQLType Power where
type KIND Power = TYPE
data Deity m = Deity
{ name :: m Text,
power :: m [Power]
}
deriving (Generic)
instance (Typeable m) => GQLType (Deity m) where
type KIND (Deity m) = TYPE
data Query m = Query
{ deities :: m [Deity m],
deity :: Arg "id" ID -> m (Maybe (Deity m))
}
deriving (Generic)
instance (Typeable m) => GQLType (Query m) where
type KIND (Query m) = TYPE