Skip to content

Enhance SCIM user claim update with pre-update profile action execution#794

Open
Lashen1227 wants to merge 6 commits into
wso2-extensions:feature/pre-update-profilefrom
Lashen1227:feat/pre-profile-update-claims
Open

Enhance SCIM user claim update with pre-update profile action execution#794
Lashen1227 wants to merge 6 commits into
wso2-extensions:feature/pre-update-profilefrom
Lashen1227:feat/pre-profile-update-claims

Conversation

@Lashen1227

@Lashen1227 Lashen1227 commented May 27, 2026

Copy link
Copy Markdown
Contributor

This pull request enhances the user claim update process in the SCIM user manager by introducing support for handling additional claim modifications via pre-update profile actions. It refactors the PreUpdateProfileActionExecutor to return detailed execution results, updates the claim modification logic to incorporate these results, and adjusts related tests accordingly.

Key changes include:

User claim update logic improvements:

  • The updateUserClaims method in SCIMUserManager now uses a new helper method, populateMultiValuedClaimsToModify, to handle multi-valued claims, and processes additional claim modifications returned from the pre-update profile action executor. This allows dynamic modification of claims based on action execution results.
  • The new populateMultiValuedClaimsToModify method consolidates logic for updating both single and multi-valued claims to be modified.

Pre-update profile action executor refactor:

  • The PreUpdateProfileActionExecutor.execute method now returns an ActionExecutionStatus<?> object instead of void, allowing the caller to process results from action execution. The internal handleActionExecutionStatus method also returns this status object.

Related PR

@wso2-engineering wso2-engineering Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Agent Log Improvement Checklist

⚠️ Warning: AI-Generated Review Comments

  • The log-related comments and suggestions in this review were generated by an AI tool to assist with identifying potential improvements. Purpose of reviewing the code for log improvements is to improve the troubleshooting capabilities of our products.
  • Please make sure to manually review and validate all suggestions before applying any changes. Not every code suggestion would make sense or add value to our purpose. Therefore, you have the freedom to decide which of the suggestions are helpful.

✅ Before merging this pull request:

  • Review all AI-generated comments for accuracy and relevance.
  • Complete and verify the table below. We need your feedback to measure the accuracy of these suggestions and the value they add. If you are rejecting a certain code suggestion, please mention the reason briefly in the suggestion for us to capture it.
Comment Accepted (Y/N) Reason
#### Log Improvement Suggestion No: 1
#### Log Improvement Suggestion No: 2
#### Log Improvement Suggestion No: 3
#### Log Improvement Suggestion No: 4

@coderabbitai

coderabbitai Bot commented May 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1acf0ad5-6fe1-428a-a903-93ec83835234

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant