parse-server
parse-server copied to clipboard
perf: Use aggregation pipeline with `$graphLookup` for recursive role and auth queries
Pull Request
- Report security issues confidentially.
- Any contribution is under this license.
- Link this pull request to an issue.
Issue
Closes: #6556
Approach
Tasks
- [ ] Add tests
- [ ] Add changes to documentation (guides, repository pages, code comments)
- [ ] Add security check
- [ ] Add new Parse Error codes to Parse JS SDK
I will reformat the title to use the proper commit message syntax.
Thanks for opening this pull request!
Codecov Report
Patch coverage: 95.65% and no project coverage change.
Comparison is base (
6a4a00c) 94.37% compared to head (5f7d0e0) 94.37%. Report is 1 commits behind head on alpha.
:exclamation: Current head 5f7d0e0 differs from pull request most recent head 74a7555. Consider uploading reports for the commit 74a7555 to get more accurate results
Additional details and impacted files
@@ Coverage Diff @@
## alpha #8563 +/- ##
=======================================
Coverage 94.37% 94.37%
=======================================
Files 185 185
Lines 14761 14769 +8
=======================================
+ Hits 13930 13938 +8
Misses 831 831
| Files Changed | Coverage Δ | |
|---|---|---|
| src/Auth.js | 98.52% <95.45%> (-0.34%) |
:arrow_down: |
| src/Controllers/DatabaseController.js | 94.24% <100.00%> (ø) |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Is this ready for review?
Just need to get postgres working!
@cbaker6 @mtrezza would either of you know if this feature is compatible with Postgres? Or should the old auth lookup be used?
@dplewis is better suited to answer this question than I am as he added aggregation pipes to Postgres in #4207. To me, it looks like there will need be added work to make it comparable based on graphLookup not being in the Postgres adapter and https://github.com/parse-community/parse-server/issues/6513#issuecomment-600879620
@Moumouls Another auth conflict... if you want to take a quick look...