-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Relay Spec #6089
Relay Spec #6089
Conversation
Codecov Report
@@ Coverage Diff @@
## master #6089 +/- ##
==========================================
- Coverage 93.98% 93.97% -0.01%
==========================================
Files 168 169 +1
Lines 11347 11525 +178
==========================================
+ Hits 10664 10831 +167
- Misses 683 694 +11
Continue to review full report at Codecov.
|
Good job man! Big PR - might be appropriate if you suggest a good way to split the reviewers for different files/sections so we can be more thorough |
thanks @omairvaiyani it would be good if you guys could take a look and play around with the new schema. Then you could particularly review the changes related to the schema customization. But feel free to review any piece of code you want. |
For my part, due to the massive changes, i'm going to start by a functionnal review with a live relay parse server. |
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.
I've tested the new queries/mutations, schema customizations, and from my point of view, it looks good to me (however, I'm not a Relay expert, @Moumouls could provide better feedback on this part).
The only thing I'd like to comment is that sometimes I miss comments on code. That would make the code easier to understand and also we'd have some documentation that could prevent us from creating bugs.
I'm currently conducting a functional test only, as @douglasmuraoka has already covered the code review.
Questions:
Bugs:
@davimacedo good job! Fairly significant change here but only one bug that needs attention. Other than that, good to go! |
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.
Functional review started
@omairvaiyani thanks for the review and feedback. clientMutationIdIt is present in all mutations both in the input and in the output. The output value is always equal to the one passed in the input. Relay uses this field to uniquely identify the mutations. You can find more information here global idIt is actually according to the specification. You can find the regular Parse id in the objectId field, but the id field is used for global identification. It is basically a base64 string built by the combination of the class name and the object id. By this way you can globally identify an object and retrieve any object of any class by using this id through the You can find mode information here |
Got it, definitely not familiar enough with Relay spec to give more detailed feedback here. But in principle, the module is working on our codebase. Is there anything I can help to get this across the finish line? |
The main tricky part of the relay implementation is the I notice that in the SDL we have some @davimacedo so here we will only support the On the other hand, we could write some examples in the I'm going to use it ( |
@davimacedo And a huge big up for your tremendous work |
Could you describe what, if any, limitations the Relay spec introduces vs the current implementation? For example, removing the The docs will essentially make or break our efforts here, if we're to release Relay asap, I suggest we start the docs asap. |
@omairvaiyani
Currently To avoid a dual codebase on the
If we choose one and we choose to only keep the @omairvaiyani and yes you are right, we need to start a little tutorial on the Have I answered your questions? @omairvaiyani PS: |
@Moumouls I'm completely with you in that using Relay will make Parse much more enticing to GraphQL developers. And I trust your opinion on robustness/stability. I still have some qualms about the omittance of |
@omairvaiyani agree with you let's keep the |
Are we ready to merge this one @omairvaiyani @davimacedo ? |
I'm happy with it, we could do with some directionality from the core-team around tackling the documentation |
I started a documentation here for a complete release of the GraphQL implementation: parse-community/docs#688 |
That's awesome guys! I think we are ready to merge. But it would be good to have the docs ready for the new Parse Server release (maybe 4.0?). I can help on this as well if you need @Moumouls. Sorry about the delay on answering this thread. I was pretty busy in the past few weeks but I should have more available time during December. |
* Install graphql-relay * Add relayNodeInterface to ParseGraphQLSchema * Add support to global id * Add support to global id in other operations * Fix sort by glboal id * Fix where by global id * Introduce IdWhereInput * Add Relay object identification tests * Client mutation id on createFile mutation * Client mutation id on callCloudCode mutation * Client mutation id on signUp mutation * Client mutation id on logIn mutation * Client mutation id on logOut mutation * Client mutation id on createClass mutation * Client mutation id on updateClass mutation * Client mutation id on deleteClass mutation * Client mutation id on create object mutation * Improve Viewer type * Client mutation id on update object mutation * Client mutation id on delete object mutation * Introducing connections * Fix tests * Add pagination test * Fix file location * Fix postgres tests * Add comments * Tests to calculateSkipAndLimit
This PR aims to make the Parse GraphQL API compliant with the Relay Spec.
Close #5863