WIP gerrit FetchUserPerms function
Created by: mollylogue
WIP implementation of gerrit FetchUserPerms function
I figured that this was going to be a sizable amount of code to review, so I wanted to get
Outstanding questions:
- How should we paginate/batch when requesting the list of projects? (Keeping in mind that this will also be the size of the list of projects we request access info for at a time)
- I've just ignored the
"Revision"
field of the project access info for now. I'm assuming this will be a part of the sub-repo/branch-based permissions, so I figured we could handle it later on when we tackle the sub-repo perms?
Notable TODOS:
- caching on the provider is likely something we want to do to avoid a ton of redundant requests. Things to cache include list of all projects and project access info.
- We'll want some metrics around this function, though I propose we create a separate issue for that and do it in a different PR.
Test plan
- Full unit test suite to cover various cases
- Local testing against Gerrit api