Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cursor based pagination for SCIM resources effort 2 #412

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

KD23243
Copy link

@KD23243 KD23243 commented Oct 2, 2024

Purpose

The purpose of this PR is to get the initial phase of cursor pagination for SCIM resource listings working with the Identity Server in JDBC and LDAP user stores.

Goals

  • User passes in the cursor or startIndex and the limit and the IS provides a (cursor or offset) paginated result.
  • Ability to travel forwards and backwards across pages using cursor pagination.
  • Cursor paginated functionality for both JDBC and LDAP user stores.

Related Issues

Related PRs

BojithaPiyathilake and others added 10 commits June 20, 2022 14:10
Cursor pagination changes - phase 1

formatting adjustments before PR

more formatting adjustments and removing unneccesary comments

Formatting the code

Adjustments made to Cursor Pagination for SCIM resources

Changes made as per the code review

Changing the response type from a List to UsersGetResponse type object

Changing the response type from a List to UsersGetResponse type object - changes based on the code review

formatting changes

Made changes to support POST/.Search cursor pagination

Made changes so that the ServiceProviderConfig endpoint shows cursor pagination capability

minor changes

Fix for NullPointerException when running UserResourceManagerTest

Updated wording for serviceProviderConfigEndpoint changes

Formatting changes

Removing unused parameters from processPagination method

Updating tests broken due to changes and writing new tests for cursor pagination

formatting
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ KD23243
❌ BojithaPiyathilake
You have signed the CLA already but the status is still pending? Let us recheck it.

@KD23243 KD23243 requested a review from Copilot December 12, 2024 04:13

Choose a reason for hiding this comment

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

Copilot reviewed 5 out of 18 changed files in this pull request and generated no suggestions.

Files not reviewed (13)
  • modules/charon-core/src/main/java/org/wso2/charon3/core/protocol/endpoints/ResourceManager.java: Evaluated as low risk
  • modules/charon-core/src/test/java/org/wso2/charon3/core/protocol/endpoints/UserResourceManagerTest.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/utils/codeutils/SearchRequest.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/utils/ResourceManagerUtil.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/protocol/SCIMResponse.java: Evaluated as low risk
  • modules/charon-utils/src/main/java/org/wso2/charon3/utils/usermanager/InMemoryUserManager.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/config/CharonConfiguration.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/objects/ListedResource.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/objects/plainobjects/UsersGetResponse.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/extensions/UserManager.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/encoder/JSONEncoder.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/encoder/JSONDecoder.java: Evaluated as low risk
  • modules/charon-core/src/main/java/org/wso2/charon3/core/config/SCIMConfigConstants.java: Evaluated as low risk
Comments skipped due to low confidence (2)

modules/charon-core/src/main/java/org/wso2/charon3/core/protocol/endpoints/UserResourceManager.java:396

  • [nitpick] The word 'Pagination' should be consistently capitalized as 'pagination' in comments.
* @param cursorString      Cursor value for pagination.

modules/charon-core/src/main/java/org/wso2/charon3/core/protocol/endpoints/UserResourceManager.java:406

  • Ensure that the new cursor-based pagination functionality is covered by tests.
public SCIMResponse listWithGET(UserManager userManager, String filter, String cursorString, Integer countInt,
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.

3 participants