SCIM services refactored to extend base classes
What does this MR do and why?
This is a refactor MR to introduce BaseServices for SCIM Provisioning services. This will help in writing implementation for SCIM instance level operations and we can avoid some level of code duplication.
This MR is raised to ease reviewing of changes as per suggestions given in main MR here - !104887 (comment 1188660819)
How to set up and validate locally
I have introduced two base services
- BaseProvisioningService
- BaseDeprovisioningService
Classes ProvisionService has been renamed to GroupSamlProvisionService
and DeprovisionService is renamed to GroupSamlDeprovisionService
, similarly ReprovisionService
is renamed to GroupSamlReprovisionService
.
This renaming is due to the fact that now group_id
is going to be optional while creating a ScimIdentity and hence there are two way to provision ScimIdentity -
- With Group
- Without Group
Changes in this MR can be verified by running specs for all the services, the specs have not been changed.
Also since the services are being referenced via api layer from api/scim.rb
there is a change made there as well.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.