Skip to content

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

  1. BaseProvisioningService
  2. 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 -

  1. With Group
  2. 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.

Edited by Smriti Garg

Merge request reports

Loading