Find project_authorizations records due for refresh via a service class [RUN ALL RSPEC] [RUN AS-IF-FOSS]
What does this MR do?
This is the first step towards implementing #292443 (closed)
Currently, we have a service class named Users::RefreshAuthorizedProjectsService
, which performs the dual function of
- finding the records that should be
added
orremoved
. - Adding or removing these specific records in
ProjectAuthorizations
table.
With this MR, a new service class named AuthorizedProjectUpdate::FindRecordsDueForRefreshService
is being added which performs the function of
- finding the records that should be
added
orremoved
.
The pros of this approach is
- Responsibilities are now split
-
Users::RefreshAuthorizedProjectsService
further callsAuthorizedProjectUpdate::FindRecordsDueForRefreshService
to obtain the records that needs removal or addition. -
AuthorizedProjectUpdate::FindRecordsDueForRefreshService
is now standalone, and only performs "read" queries, which means we can use this service in a standalone manner towards accomplishing #292443 (closed) (For a detailed plan on how this new class will be used in a standalone manner, please see !54836 (comment 515219453))
Screenshots (strongly suggested)
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry. -
I have not included a changelog entry because this is only a refactor.
-
-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team
Edited by Mayra Cabrera