feat(prod-queries): Implement backend for prod queries #4398
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Frontend Changes
I revamped the UI a bit to take in SnQL queries with a dataset and show the most recent result. I plan to add support for result history in the future, but right now I'm just keeping it simple.
Backend Changes
I refactored the audit log decorator a bit so that I can use it for prod queries. I also added an api endpoint for snql queries. In terms of validation, I first validate the query by using a dry run and then validate the projects in the query.
Testing
I added several tests for the api to ensure that it works correctly and handles errors.