Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/ Alternative PubSub Methods #195

Closed
nalchevanidze opened this issue Aug 2, 2019 · 0 comments
Closed

Feature/ Alternative PubSub Methods #195

nalchevanidze opened this issue Aug 2, 2019 · 0 comments
Labels
help wanted Extra attention is needed scope/server morpheus-graphql

Comments

@nalchevanidze
Copy link
Member

nalchevanidze commented Aug 2, 2019

there should be 3 kind of resolvers:

  • Query: without stream, parallel fields resolving
  • Mutation: with stream , sequence fields resolving
  • Subscription: with stream, parallel fields resolving, root resolver has fields with
    {
    stream:[x]
    value:: args -> ( event -> m result )
    }

would be great if we had some kind of Monad:

GQLMonad (o :: OperationKind) (m :: * -> *) event a = ...

that could change behaviour according to OperationKind

data GQLMonad (o::OperationKind) (m :: * -> * ) value where 
    QueryM :: m value -> GQLMonad 'Query m  ()
    MutationM :: Event channel event -> m value -> GQLMonad 'Mutation m (Event channel event)
    SubscriptionM ::  channel -> m (Event channel event -> m value) -> GQLMonad 'Subscription m (Event channel event)
@nalchevanidze nalchevanidze changed the title Feature/ type Class Family: Resolver Feature/ Alternative PubSub Methods Aug 2, 2019
@nalchevanidze nalchevanidze added help wanted Extra attention is needed scope/server morpheus-graphql labels Aug 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed scope/server morpheus-graphql
Projects
None yet
Development

No branches or pull requests

1 participant