-
Notifications
You must be signed in to change notification settings - Fork 67
enhancement: integrate async-graphql
into GraphQL API
#877
Conversation
e5ae08e
to
42123ff
Compare
ea2edb0
to
42cd935
Compare
@deekerno Looks ok but needs to be rebased on master? I still see |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Testing steps worked
- Left a lot of comments about style and readability
f0aba54
to
b208313
Compare
b208313
to
b33a0ac
Compare
89ca117
to
05ee354
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@deekerno I was not able to run this PR locally the indexer returns a error, I'm running it using a local postgres database;
2023-05-16T21:45:21.076546Z ERROR fuel_indexer::database: 105: TypeId(-3434938465688289560) not found in tables: {}
2023-05-16T21:45:21.076969Z ERROR fuel_indexer::database: 105: TypeId(4447527238938559951) not found in tables: {}
2023-05-16T21:45:21.077348Z ERROR fuel_indexer::database: 105: TypeId(-1100053459620569284) not found in tables: {}
2023-05-16T21:45:21.077723Z ERROR fuel_indexer::database: 105: TypeId(-1100053459620569284) not found in tables: {}
2023-05-16T21:45:21.078104Z ERROR fuel_indexer::database: 105: TypeId(5652593424517424978) not found in tables: {}
2023-05-16T21:45:21.078504Z ERROR fuel_indexer::database: 105: TypeId(-8806802248022301227) not found in tables: {}
I saw this error before when I was doing the PoC where the issue was fixed here. Do I need to change something on my env?
That kind of error typically goes away when the WASM modules are freshly compiled. If that doesn't work, then you may need to refresh the database. |
After a cargo clean it work's. Thanks for the help. Why we have this approach? It looks like a easy thing to break as force users to know about cleaning to make it work, maybe this data should be gather from the database. For sure is not something to be cover on this PR as is not related. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functionality wise is looking good. Thanks for this changes. ✅
It's happens sometimes when there are large changes to the underlying schema. We have an outstanding issue for indexer migrations; we'll need to get together and flesh out the process for that. |
Description
Following the switch from
graphql-parser
toasync-graphql-parser
for our parsing needs, this PR further integrates available features from GraphQL in order to improve the developer experience.Specifically, it adds the following features:
async-graphql
#822async-graphql
#823Other GraphQL-idiomatic issues will be addressed in a subsequent PR.
Testing steps
CI should pass.
Manual Testing
The main value add in this PR is introspection support for any user-defined schema in the GraphQL playground. To test this with the block explorer example:
cargo run --bin fuel-indexer -- run --manifest examples/block-explorer/explorer-indexer/explorer_indexer.manifest.yaml --run-migrations --fuel-node-host beta-3.fuel.network --fuel-node-port 80
http://localhost:29987/api/playground/fuel_examples/explorer_indexer
Docs
andSchema
tabs on the side; you should see that there is now information that helps a user to write their queries.Changelog
dynamic.rs
module