@@ -10,7 +10,6 @@ import { usePermissions } from "hooks/usePermissions";
10
10
import { FC , ReactNode , useEffect } from "react" ;
11
11
import { Helmet } from "react-helmet-async" ;
12
12
import { useSearchParams , useNavigate } from "react-router-dom" ;
13
- import { siteRolesMachine } from "xServices/roles/siteRolesXService" ;
14
13
import { usersMachine } from "xServices/users/usersXService" ;
15
14
import { ConfirmDialog } from "../../components/Dialogs/ConfirmDialog/ConfirmDialog" ;
16
15
import { ResetPasswordDialog } from "./ResetPasswordDialog" ;
@@ -22,6 +21,7 @@ import { useDashboard } from "components/Dashboard/DashboardProvider";
22
21
import { deploymentConfigMachine } from "xServices/deploymentConfig/deploymentConfigMachine" ;
23
22
import { useQuery } from "@tanstack/react-query" ;
24
23
import { getAuthMethods } from "api/api" ;
24
+ import { roles } from "api/queries/roles" ;
25
25
26
26
export const Language = {
27
27
suspendDialogTitle : "Suspend user" ,
@@ -64,12 +64,7 @@ export const UsersPage: FC<{ children?: ReactNode }> = () => {
64
64
} = usersState . context ;
65
65
66
66
const { updateUsers : canEditUsers , viewDeploymentValues } = usePermissions ( ) ;
67
- const [ rolesState ] = useMachine ( siteRolesMachine , {
68
- context : {
69
- hasPermission : canEditUsers ,
70
- } ,
71
- } ) ;
72
- const { roles } = rolesState . context ;
67
+ const rolesQuery = useQuery ( { ...roles ( ) , enabled : canEditUsers } ) ;
73
68
74
69
// Ideally this only runs if 'canViewDeployment' is true.
75
70
// TODO: Prevent api call if the user does not have the perms.
@@ -109,7 +104,7 @@ export const UsersPage: FC<{ children?: ReactNode }> = () => {
109
104
// - the user can edit the users but the roles are loading
110
105
const isLoading =
111
106
usersState . matches ( "gettingUsers" ) ||
112
- ( canEditUsers && rolesState . matches ( "gettingRoles" ) ) ||
107
+ rolesQuery . isLoading ||
113
108
authMethods . isLoading ;
114
109
115
110
return (
@@ -119,7 +114,7 @@ export const UsersPage: FC<{ children?: ReactNode }> = () => {
119
114
</ Helmet >
120
115
< UsersPageView
121
116
oidcRoleSyncEnabled = { oidcRoleSyncEnabled }
122
- roles = { roles }
117
+ roles = { rolesQuery . data }
123
118
users = { users }
124
119
authMethods = { authMethods . data }
125
120
count = { count }
0 commit comments