RisingStack / graffiti-mongoose

⚠️ DEVELOPMENT DISCONTINUED - Mongoose (MongoDB) adapter for graffiti (Node.js GraphQL ORM)
https://risingstack-graffiti.signup.team/
MIT License
382 stars 52 forks source link

Cannot get example to work #79

Open neverfox opened 8 years ago

neverfox commented 8 years ago

No matter what I try as a query, I get the following error in devtools (react.min.js):

Uncaught TypeError: Cannot read property 'getQueryType' of undefined
dsifford commented 8 years ago

@neverfox Can you provide an example of some of the queries you are trying?

neverfox commented 8 years ago

Well, I'm a total newbie when it comes to graphQL, but I was trying things from the examples like:

query UsersQuery {
  users {
    name
  }
}

I assume that if was just badly formed, I'd get an error inside of graphiql, but it's just failing at the source code level somehow. Do you know of a query that you know should work that I could try?

dsifford commented 8 years ago

Hm.. I see what you mean..

The GraphiQL instance is not getting access to the database on my end. Tried to spin up the example on my end and no dice either.

@neverfox are you able to open up the "Doc" sidebar and see the schema? If not, you probably have the same issue.

I'd usually troubleshoot, but I'm strapped for time and I'm not familiar with koa.

neverfox commented 8 years ago

Nope, no schema.

tothandras commented 8 years ago

Make sure that MongoDB is running.

dsifford commented 8 years ago

@tothandras Not sure that's the issue. MongoDB runs as a service on my machine (Ubuntu Wily) and I have no issues using graffiti in my own workflow.

jbach commented 8 years ago

I’m having the same issue, the first POST to /graphql is pending for quite some time, then fails. If I run the same query (query IntrospectionQuery…) via Postman, I get a proper response.

neverfox commented 8 years ago

I'd love to get this sorted since this is my first experience with considering graphQL for my next project (tired of REST endpoints proliferating like bunnies).

Make sure that MongoDB is running.

Not only is it running, but I'm looking at the pre-populated data in MongoHub, so I know that was successful.

jbach commented 8 years ago

I have tracked down the problem: It works if I don’t use bodyParser.json() in my express app. Seems to be a problem with graffiti / co-body / raw-body. Can anyone confirm?

neverfox commented 8 years ago

Since the example uses Koa, that might be the implicit default body parser there.

tothandras commented 8 years ago

Can you try the examples in the graffiti project? I can't introduce the errors you are facing with. :confused:

jbach commented 8 years ago

@tothandras Regarding express, the problem arises if you add JSON body parsing as often suggested/needed by third party plugins. The workaround is to not use body-parser at root level or to exclude the /graphql endpoint via something like express-unless. Would it be viable to check if the body still needs to be parsed here?

tothandras commented 8 years ago

@jbach Would it be also viable to require body parsing by the plugin as other plugins do? :) Just drop it altogether and make it a requirement.

jbach commented 8 years ago

Probably. I checked up on co-body, it doesn’t seem to prevent double parsing like expressjs/body-parser does. I guess shifting that responsibility to the middleware would be my personal favorite.

kaminskypavel commented 8 years ago

+1 still having the same issue. any suggested work around?

graphql

KATT commented 8 years ago

+1

tothandras commented 8 years ago

Thanks for the report! I will fix this tomorrow.

tothandras commented 8 years ago

@KATT @jbach @kaminskypavel @neverfox @dsifford Can you try version 3.0.1 of graffiti? I've removed the body parsing from the middleware. The examples have also been updated in both repositories.

kaminskypavel commented 8 years ago

@tothandras , nope, unfortunately still getting Uncaught TypeError: Cannot read property 'getQueryType' of undefined .

also please update the readme to port 8081.

jbach commented 8 years ago

@tothandras, it does work for me. :+1: @kaminskypavel, are you sure you updated both graffiti and graffiti-mongoose?

kaminskypavel commented 8 years ago

I did a clean checkout and install, am I missing something?

KATT commented 8 years ago

Eureka! I was struggling as well and noticed I was using npm 2.14.7 and node 4.2.1.

Once I did a simple nvm use 5 it all kicked off for me. :tada:

kaminskypavel commented 8 years ago

what version of node was it?

KATT commented 8 years ago
$ node --version
v5.2.0
$ npm --version
3.3.12