-
Notifications
You must be signed in to change notification settings - Fork 79
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
Allow custom query functions to accept an array of arguments #2913
Comments
+1 |
Hey @ataylorme, Thank you for bringing this to our attention. We have noted it as a feature request for the team to review in more detail. |
I don't even think you can do this:
A
This makes the arguments field even more useless in it's current for. |
+1 |
+999 , everyone needs this. |
I am going to try the json type, instead of customtype array |
It works okay but you have to stringify and decode yourself all over so it gets messy |
The big issue here, is that you won't end up creating types on the app sync side. So everything that arrives at appsync will be a json string, and it'll be the wild west over on the server side. |
Describe the feature you'd like to request
Allow
a.query().arguments
and.returns()
to both accept arrays. This will allow custom query arguments mapped to Lambda handlers to allow the Lambda to process multiple requests in a single invocation, reducing network calls and cold starts.In my specific case the user's identity is used to fetch an external API key and instantiate an external API client. Batching requests from the same user will make this much more efficient.
Currently the example below produces the error
Property 'array' does not exist on type 'CustomType<{ fields: { action: ModelField<string, "required", undefined>; parameters: ModelField<string | number | boolean | object | any[], "required", undefined>; paginate: ModelField<...>; }; }>'
Notice how the return value may be an array, and does not produce an error, but the arguments cannot be an array.
Describe the solution you'd like
Support for custom query functions to accept an array of arguments modeled with
customType
Describe alternatives you've considered
I have explored sending arguments as JSON or a string which gets parsed in the Lambda but in both cases validation and strict typing are lost.
Additional context
No response
Is this something that you'd be interested in working on?
Would this feature include a breaking change?
The text was updated successfully, but these errors were encountered: