diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e97da646..6d644bbf9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,18 @@ # Change history for ui-users +## [11.0.9](https://github.com/folio-org/ui-users/tree/v11.0.9) (2024-12-13) +[Full Changelog](https://github.com/folio-org/ui-users/compare/v11.0.8...v11.0.9) + +* Add permission to access users-keycloak delete method. Refs UIU-3282. +* Check if userId is present in withUserRoles HOC. Refs UIU-3273. +* Add missed permissions for endpoints used in withUserRoles HOC. UIU-3294. + ## [11.0.8](https://github.com/folio-org/ui-users/tree/v11.0.8) (2024-12-10) [Full Changelog](https://github.com/folio-org/ui-users/compare/v11.0.7...v11.0.8) * Add missed `circulation-storage.loans.item.get`, `inventory.items.item.get` permissions. Refs UIU-3291. + ## [11.0.7](https://github.com/folio-org/ui-users/tree/v11.0.7) (2024-11-30) [Full Changelog](https://github.com/folio-org/ui-users/compare/v11.0.6...v11.0.7) diff --git a/package.json b/package.json index 708685baf..0985a1e43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@folio/users", - "version": "11.0.8", + "version": "11.0.9", "description": "User management", "repository": "folio-org/ui-users", "publishConfig": { @@ -85,7 +85,10 @@ "user-settings.custom-fields.item.stats.get", "departments.collection.get", "departments.item.get", - "users.configurations.item.get" + "users.configurations.item.get", + "roles.users.collection.get", + "users-keycloak.auth-users.item.get", + "roles.collection.get" ], "visible": true }, @@ -102,7 +105,9 @@ "tags.collection.get", "tags.item.post", "circulation-storage.request-preferences.item.post", - "circulation-storage.request-preferences.item.put" + "circulation-storage.request-preferences.item.put", + "roles.users.item.put", + "users-keycloak.auth-users.item.post" ], "visible": true }, @@ -111,7 +116,8 @@ "displayName": "Users: Can delete user profile if user does not have any open transactions", "description": "Delete user when user does not have any open transactions", "subPermissions": [ - "users-bl.item.delete" + "users-bl.item.delete", + "users-keycloak.item.delete" ], "visible": true }, diff --git a/src/components/Wrappers/withUserRoles.js b/src/components/Wrappers/withUserRoles.js index ae8bbb595..a25317728 100644 --- a/src/components/Wrappers/withUserRoles.js +++ b/src/components/Wrappers/withUserRoles.js @@ -45,7 +45,7 @@ const withUserRoles = (WrappedComponent) => (props) => { useEffect(() => { // eslint-disable-next-line react/prop-types - if (props.stripes.hasInterface('users-keycloak') && !isAllRolesDataLoading) { + if (props.stripes.hasInterface('users-keycloak') && !isAllRolesDataLoading && !!userId) { api.get( 'roles/users', { searchParams }, ) diff --git a/src/hooks/useAllRolesData/useAllRolesData.js b/src/hooks/useAllRolesData/useAllRolesData.js index 53d75d918..542a07077 100644 --- a/src/hooks/useAllRolesData/useAllRolesData.js +++ b/src/hooks/useAllRolesData/useAllRolesData.js @@ -20,8 +20,8 @@ function useAllRolesData() { const [namespace] = useNamespace(); const { data, isLoading, isSuccess } = useQuery([namespace, 'user-roles'], () => { - return stripes.hasInterface('roles') && ky.get(`roles?limit=${stripes.config.maxUnpagedResourceCount}&query=cql.allRecords=1 sortby name`).json(); - }); + return ky.get(`roles?limit=${stripes.config.maxUnpagedResourceCount}&query=cql.allRecords=1 sortby name`).json(); + }, { enabled: stripes.hasInterface('roles') }); const allRolesMapStructure = useMemo(() => { const rolesMap = new Map();