|
2 years ago | |
---|---|---|
src/Data/Morpheus | 2 years ago | |
test | 2 years ago | |
.gitignore | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
changelog.md | 2 years ago | |
default.nix | 2 years ago | |
morpheus-graphql-core.cabal | 2 years ago | |
package.yaml | 2 years ago | |
shell.nix | 2 years ago |
core Functionalities of Morpheus GraphQL, can be used to build GraphQL server, client ..
schema :: Schema VALID
schema =
[dsl|
type Query {
deity(name: String): Deity!
}
type Deity {
name: String!
power: [String!]!
}
|]
resolver :: Monad m => RootResModel e m
resolver =
RootResModel
{ query =
pure $
mkObject
"Query"
[("deity", resolveDeity)],
mutation = pure mkNull,
subscription = pure mkNull
}
resolveDeity :: (WithOperation o, Monad m) => Resolver o e m (ResModel o e m)
resolveDeity =
pure $
mkObject
"Deity"
[ ("name", pure $ mkString "Morpheus"),
("power", pure $ mkList [mkString "Shapeshifting"])
]
api :: ByteString -> IO ByteString
api = runApp (mkApp schema resolver)