Details about the backend are often vague or missing in every article that covers GraphQL that I've read so far.
Where are guidelines to implement it?
How do we make our existing business code integrate with it?
How do we make sure a client cannot access data from another client?
Does it work well or at all with relational databases?
Is the backend a second-class citizen in this approach?
Yes, it feels like the initial Firebase hype. Security? Answer: jazz hands.
I look forward to a sample that implements fine-grained (multi-role) security on a SQL database. Is there a .NET implementation already in development I can contribute to?
About security, I'd also like to see just one example project where Role based authorization is implemented with GraphQL+Relay+React. Unfortunately, despite being so common requirement these days, I couldn't find any so far.
Edit: I'm interested more in GraphQL official JavaScript implementation, since that's the one most people are going to use.
If you have two fields in a query, does that mean two resolve functions? If I using a SQL database and the two fields were stored on two columns on the same table, wouldn't that cause 2 SQL queries to be run?
Sangria in Scala has a mechanism called "Deferred" that lets you specify that it should ask you to resolve objects of a certain type all at once at the end, and you would do a single SQL query per object type there.
If the JavaScript implementation doesn't have something like this, perhaps it can be hacked on top.
Where are guidelines to implement it? How do we make our existing business code integrate with it? How do we make sure a client cannot access data from another client? Does it work well or at all with relational databases?
Is the backend a second-class citizen in this approach?