Thanks for your reply! You're right about not bringing business logic into stargate, I don't suggest to effectively make stargate your entire backend :)
I guess when evaluating Stargate I'm just trying to compare with what I think are the nearest equivalents, which are Hasura with Postgres and AWS Amplify/AppSync with its DynamoDB integrations. Those have remote resolvers/actions, where I could say execute a custom lambda function instead of just writing/reading straight to/from Dynamo, and as such are pretty fine to expose directly to clients because you can allow just raw read/write when appropriate, but trigger other actions where more logic is needed around the request. For example: if i have a createVideo(id: string) mutation that takes a s3 media path, maybe I'd like to: check that the user is on the correct paid plan, read some metadata from the file and then add the path to a job queue before returning a response.
This is what prompted my post, because your concepts page shows end users connecting directly to stargate, so I was hoping to see how requirements like this would fit.
What I would love in a GQL solution is:
- Schema first design, which I noticed is already on your github issues :)
- API generation which creates/exports types that I can reuse, for me Protobuf would be perfect
- Ability to annotate schema with, say, GRPC endpoints so I can say "for this query/mutation, don't talk directly to cassandra, run this instead", and I implement using the protos generated above and can pass back the service definition to Stargate for it to generate a client
Thanks again, and I'm really interested to see where Stargate goes!