Skip to content

Commit 76e94fb

Browse files
committed
Move auth methods queries to the users query module
1 parent b4b7a77 commit 76e94fb

File tree

4 files changed

+21
-26
lines changed

4 files changed

+21
-26
lines changed

site/src/api/queries/users.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,12 @@ export const updateRoles = (queryClient: QueryClient) => {
7070
},
7171
};
7272
};
73+
74+
export const authMethods = () => {
75+
return {
76+
// Even the endpoint being /users/authmethods we don't want to revalidate it
77+
// when users change so its better add a unique query key
78+
queryKey: ["authMethods"],
79+
queryFn: API.getAuthMethods,
80+
};
81+
};

site/src/pages/CreateUserPage/CreateUserPage.tsx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ import { useNavigate } from "react-router-dom";
55
import { CreateUserForm } from "./CreateUserForm";
66
import { Margins } from "components/Margins/Margins";
77
import { pageTitle } from "utils/page";
8-
import { getAuthMethods } from "api/api";
98
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
10-
import { createUser } from "api/queries/users";
9+
import { authMethods, createUser } from "api/queries/users";
1110
import { displaySuccess } from "components/GlobalSnackbar/utils";
1211

1312
export const Language = {
@@ -19,12 +18,7 @@ export const CreateUserPage: FC = () => {
1918
const navigate = useNavigate();
2019
const queryClient = useQueryClient();
2120
const createUserMutation = useMutation(createUser(queryClient));
22-
// TODO: We should probably place this somewhere else to reduce the number of calls.
23-
// This would be called each time this page is loaded.
24-
const { data: authMethods } = useQuery({
25-
queryKey: ["authMethods"],
26-
queryFn: getAuthMethods,
27-
});
21+
const authMethodsQuery = useQuery(authMethods());
2822

2923
return (
3024
<Margins>
@@ -34,7 +28,7 @@ export const CreateUserPage: FC = () => {
3428

3529
<CreateUserForm
3630
error={createUserMutation.error}
37-
authMethods={authMethods}
31+
authMethods={authMethodsQuery.data}
3832
onSubmit={async (user) => {
3933
await createUserMutation.mutateAsync(user);
4034
displaySuccess("Successfully created user.");

site/src/pages/UserSettingsPage/SecurityPage/SecurityPage.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,27 @@ import { ComponentProps, FC } from "react";
33
import { Section } from "components/SettingsLayout/Section";
44
import { SecurityForm } from "./SettingsSecurityForm";
55
import { useMutation, useQuery } from "@tanstack/react-query";
6-
import { getAuthMethods, getUserLoginType } from "api/api";
6+
import { getUserLoginType } from "api/api";
77
import {
88
SingleSignOnSection,
99
useSingleSignOnSection,
1010
} from "./SingleSignOnSection";
1111
import { Loader } from "components/Loader/Loader";
1212
import { Stack } from "components/Stack/Stack";
13-
import { updatePassword } from "api/queries/users";
13+
import { authMethods, updatePassword } from "api/queries/users";
1414
import { displaySuccess } from "components/GlobalSnackbar/utils";
1515

1616
export const SecurityPage: FC = () => {
1717
const me = useMe();
1818
const updatePasswordMutation = useMutation(updatePassword());
19-
const { data: authMethods } = useQuery({
20-
queryKey: ["authMethods"],
21-
queryFn: getAuthMethods,
22-
});
19+
const authMethodsQuery = useQuery(authMethods());
2320
const { data: userLoginType } = useQuery({
2421
queryKey: ["loginType"],
2522
queryFn: getUserLoginType,
2623
});
2724
const singleSignOnSection = useSingleSignOnSection();
2825

29-
if (!authMethods || !userLoginType) {
26+
if (!authMethodsQuery.data || !userLoginType) {
3027
return <Loader />;
3128
}
3229

@@ -51,7 +48,7 @@ export const SecurityPage: FC = () => {
5148
}}
5249
oidc={{
5350
section: {
54-
authMethods,
51+
authMethods: authMethodsQuery.data,
5552
userLoginType,
5653
...singleSignOnSection,
5754
},

site/src/pages/UsersPage/UsersPage.tsx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { useStatusFilterMenu } from "./UsersFilter";
1414
import { useFilter } from "components/Filter/filter";
1515
import { useDashboard } from "components/Dashboard/DashboardProvider";
1616
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
17-
import { getAuthMethods } from "api/api";
1817
import { roles } from "api/queries/roles";
1918
import { deploymentConfig } from "api/queries/deployment";
2019
import { prepareQuery } from "utils/filters";
@@ -26,6 +25,7 @@ import {
2625
deleteUser,
2726
updatePassword,
2827
updateRoles,
28+
authMethods,
2929
} from "api/queries/users";
3030
import { displayError, displaySuccess } from "components/GlobalSnackbar/utils";
3131
import { getErrorMessage } from "api/errors";
@@ -74,14 +74,9 @@ export const UsersPage: FC<{ children?: ReactNode }> = () => {
7474
status: option?.value,
7575
}),
7676
});
77-
const authMethods = useQuery({
78-
queryKey: ["authMethods"],
79-
queryFn: () => {
80-
return getAuthMethods();
81-
},
82-
});
77+
const authMethodsQuery = useQuery(authMethods());
8378
const isLoading =
84-
usersQuery.isLoading || rolesQuery.isLoading || authMethods.isLoading;
79+
usersQuery.isLoading || rolesQuery.isLoading || authMethodsQuery.isLoading;
8580
// Suspend
8681
const [confirmSuspendUser, setConfirmSuspendUser] = useState<User>();
8782
const suspendUserMutation = useMutation(suspendUser(queryClient));
@@ -109,7 +104,7 @@ export const UsersPage: FC<{ children?: ReactNode }> = () => {
109104
oidcRoleSyncEnabled={oidcRoleSyncEnabled}
110105
roles={rolesQuery.data}
111106
users={usersQuery.data?.users}
112-
authMethods={authMethods.data}
107+
authMethods={authMethodsQuery.data}
113108
onListWorkspaces={(user) => {
114109
navigate(
115110
"/workspaces?filter=" +

0 commit comments

Comments
 (0)