lasdf1234 opened a new pull request, #11848: URL: https://github.com/apache/gravitino/pull/11848
### What changes were proposed in this pull request? Implements OSS SCIM prerequisites on `AccessControlDispatcher` for external ID correlation, user enable/disable, and JDBC-backed user/group pagination (consolidates former #11833 into #11832). - Persist `external_id` / `enabled` in user/group PO, entity, SQL, and converters (#11831 Java follow-up) - Add `getUserByExternalId` / `getGroupByExternalId` - Add `enableUser` / `disableUser` (updates `user_meta.enabled` only; does not remove `user_role_rel`) - Add `addUser(metalake, user, externalId)` / `addGroup(metalake, group, externalId)` - Add `PagedResult<T>`, `listUsers(metalake, offset, limit)`, `countUsers`, and group equivalents with `ORDER BY id ASC` + `LIMIT/OFFSET` at JDBC layer - Wire through `AccessControlManager`, `UserGroupManager`, hook/event dispatchers, and DTOs Fix: #11832 ### Why are the changes needed? Enterprise SCIM 2.0 repository adapters call Gravitino in-process via `AccessControlDispatcher`. They need stable external ID lookup, deactivate-without-unbind semantics, and paginated listing without loading full metalake arrays. ### Does this PR introduce _any_ user-facing change? 1. New `User.externalId()`, `User.enabled()`, and `Group.externalId()` API fields 2. New dispatcher methods listed above (no new 8090 REST endpoints) ### How was this patch tested? - `./gradlew :core:test --tests "org.apache.gravitino.authorization.TestAccessControlManager" -PskipITs` - `./gradlew spotlessApply` Made with [Cursor](https://cursor.com) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
