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

update subgroup storage layer to support pagination of subgroups #22374

Conversation

alice-wondered
Copy link
Contributor

resolves #22372

@alice-wondered alice-wondered requested a review from a team August 10, 2023 15:21
@alice-wondered alice-wondered requested review from a team as code owners August 10, 2023 15:21
alice-wondered added a commit to alice-wondered/keycloak that referenced this pull request Aug 17, 2023
… in use as well as scalability

Modify Provider layer to allow for pagination on subgroups
Modify Provider layer to allow for searching for subgroups by ID and Name
Modify GroupModel to pass handling of subgroup lookups to the storage provider rather than performing the search on the model object
Modify GroupsResource to take advantage of new storage functions, preventing loading of excess entities into memory from DB
Modify GroupResource to allow for retrieval of all of the subgroups on an object, paginated, and sorted
Modify construction of group hierarchy to load a vertical slice of the relevant information, i.e. only loading groups from leaf -> root without inclusion of siblings
Changes to specific implementations of all of the above interfaces for the main storage providers
Update all tests to show that there are no regressions in the changed behavior
Add a count field to GroupRepresentation that lets a client know how many subgroups are on the group without having to retrieve them
Modify relevant external resources to use new functionality on the storage layer (UserResource, RealmAdminResource, AccountRestService...)
resolves keycloak#22374
alice-wondered added a commit to alice-wondered/keycloak that referenced this pull request Aug 21, 2023
… in use as well as scalability

Modify Provider layer to allow for pagination on subgroups
Modify Provider layer to allow for searching for subgroups by ID and Name
Modify GroupModel to pass handling of subgroup lookups to the storage provider rather than performing the search on the model object
Modify GroupsResource to take advantage of new storage functions, preventing loading of excess entities into memory from DB
Modify GroupResource to allow for retrieval of all of the subgroups on an object, paginated, and sorted
Modify construction of group hierarchy to load a vertical slice of the relevant information, i.e. only loading groups from leaf -> root without inclusion of siblings
Changes to specific implementations of all of the above interfaces for the main storage providers
Update all tests to show that there are no regressions in the changed behavior
Add a count field to GroupRepresentation that lets a client know how many subgroups are on the group without having to retrieve them
Modify relevant external resources to use new functionality on the storage layer (UserResource, RealmAdminResource, AccountRestService...)
resolves keycloak#22374
@alice-wondered
Copy link
Contributor Author

This PR is now outdated in favor of a consolidated branch with changes pertaining to all areas of this issue

@alice-wondered alice-wondered deleted the update-subgroup-storage-layer branch August 24, 2023 20:13
alice-wondered added a commit to alice-wondered/keycloak that referenced this pull request Oct 24, 2023
… in use as well as scalability

Modify Provider layer to allow for pagination on subgroups
Modify Provider layer to allow for searching for subgroups by ID and Name
Modify GroupModel to pass handling of subgroup lookups to the storage provider rather than performing the search on the model object
Modify GroupsResource to take advantage of new storage functions, preventing loading of excess entities into memory from DB
Modify GroupResource to allow for retrieval of all of the subgroups on an object, paginated, and sorted
Modify construction of group hierarchy to load a vertical slice of the relevant information, i.e. only loading groups from leaf -> root without inclusion of siblings
Changes to specific implementations of all of the above interfaces for the main storage providers
Update all tests to show that there are no regressions in the changed behavior
Add a count field to GroupRepresentation that lets a client know how many subgroups are on the group without having to retrieve them
Modify relevant external resources to use new functionality on the storage layer (UserResource, RealmAdminResource, AccountRestService...)
resolves keycloak#22374
alice-wondered added a commit to alice-wondered/keycloak that referenced this pull request Oct 24, 2023
… in use as well as scalability

Modify Provider layer to allow for pagination on subgroups
Modify Provider layer to allow for searching for subgroups by ID and Name
Modify GroupModel to pass handling of subgroup lookups to the storage provider rather than performing the search on the model object
Modify GroupsResource to take advantage of new storage functions, preventing loading of excess entities into memory from DB
Modify GroupResource to allow for retrieval of all of the subgroups on an object, paginated, and sorted
Modify construction of group hierarchy to load a vertical slice of the relevant information, i.e. only loading groups from leaf -> root without inclusion of siblings
Changes to specific implementations of all of the above interfaces for the main storage providers
Update all tests to show that there are no regressions in the changed behavior
Add a count field to GroupRepresentation that lets a client know how many subgroups are on the group without having to retrieve them
Modify relevant external resources to use new functionality on the storage layer (UserResource, RealmAdminResource, AccountRestService...)
resolves keycloak#22374
zwitter1 pushed a commit to alice-wondered/keycloak that referenced this pull request Nov 2, 2023
… in use as well as scalability

Modify Provider layer to allow for pagination on subgroups
Modify Provider layer to allow for searching for subgroups by ID and Name
Modify GroupModel to pass handling of subgroup lookups to the storage provider rather than performing the search on the model object
Modify GroupsResource to take advantage of new storage functions, preventing loading of excess entities into memory from DB
Modify GroupResource to allow for retrieval of all of the subgroups on an object, paginated, and sorted
Modify construction of group hierarchy to load a vertical slice of the relevant information, i.e. only loading groups from leaf -> root without inclusion of siblings
Changes to specific implementations of all of the above interfaces for the main storage providers
Update all tests to show that there are no regressions in the changed behavior
Add a count field to GroupRepresentation that lets a client know how many subgroups are on the group without having to retrieve them
Modify relevant external resources to use new functionality on the storage layer (UserResource, RealmAdminResource, AccountRestService...)
resolves keycloak#22374
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Expand Group providers to allow for paginated lookup of subgroups
2 participants