Skip to content

Commit 42e2574

Browse files
chore(site): remove users and pagination services (#9932)
1 parent 885b250 commit 42e2574

20 files changed

+432
-1250
lines changed

site/src/api/queries/users.ts

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1+
import { QueryClient } from "@tanstack/react-query";
12
import * as API from "api/api";
2-
import { UpdateUserPasswordRequest } from "api/typesGenerated";
3+
import { UpdateUserPasswordRequest, UsersRequest } from "api/typesGenerated";
4+
5+
export const users = (req: UsersRequest) => {
6+
return {
7+
queryKey: ["users", req],
8+
queryFn: () => API.getUsers(req),
9+
};
10+
};
311

412
export const updatePassword = () => {
513
return {
@@ -11,9 +19,12 @@ export const updatePassword = () => {
1119
};
1220
};
1321

14-
export const createUser = () => {
22+
export const createUser = (queryClient: QueryClient) => {
1523
return {
1624
mutationFn: API.createUser,
25+
onSuccess: async () => {
26+
await queryClient.invalidateQueries(["users"]);
27+
},
1728
};
1829
};
1930

@@ -22,3 +33,49 @@ export const createFirstUser = () => {
2233
mutationFn: API.createFirstUser,
2334
};
2435
};
36+
37+
export const suspendUser = (queryClient: QueryClient) => {
38+
return {
39+
mutationFn: API.suspendUser,
40+
onSuccess: async () => {
41+
await queryClient.invalidateQueries(["users"]);
42+
},
43+
};
44+
};
45+
46+
export const activateUser = (queryClient: QueryClient) => {
47+
return {
48+
mutationFn: API.activateUser,
49+
onSuccess: async () => {
50+
await queryClient.invalidateQueries(["users"]);
51+
},
52+
};
53+
};
54+
55+
export const deleteUser = (queryClient: QueryClient) => {
56+
return {
57+
mutationFn: API.deleteUser,
58+
onSuccess: async () => {
59+
await queryClient.invalidateQueries(["users"]);
60+
},
61+
};
62+
};
63+
64+
export const updateRoles = (queryClient: QueryClient) => {
65+
return {
66+
mutationFn: ({ userId, roles }: { userId: string; roles: string[] }) =>
67+
API.updateUserRoles(roles, userId),
68+
onSuccess: async () => {
69+
await queryClient.invalidateQueries(["users"]);
70+
},
71+
};
72+
};
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/components/Filter/filter.tsx

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -353,20 +353,18 @@ const PresetMenu = ({
353353
View advanced filtering
354354
</MenuItem>
355355
{learnMoreLink2 && learnMoreLabel2 && (
356-
<>
357-
<MenuItem
358-
component="a"
359-
href={learnMoreLink2}
360-
target="_blank"
361-
sx={{ fontSize: 13, fontWeight: 500 }}
362-
onClick={() => {
363-
setIsOpen(false);
364-
}}
365-
>
366-
<OpenInNewOutlined sx={{ fontSize: "14px !important" }} />
367-
{learnMoreLabel2}
368-
</MenuItem>
369-
</>
356+
<MenuItem
357+
component="a"
358+
href={learnMoreLink2}
359+
target="_blank"
360+
sx={{ fontSize: 13, fontWeight: 500 }}
361+
onClick={() => {
362+
setIsOpen(false);
363+
}}
364+
>
365+
<OpenInNewOutlined sx={{ fontSize: "14px !important" }} />
366+
{learnMoreLabel2}
367+
</MenuItem>
370368
)}
371369
</Menu>
372370
</>

site/src/components/PaginationWidget/PaginationWidget.stories.tsx

Lines changed: 0 additions & 43 deletions
This file was deleted.

site/src/components/PaginationWidget/PaginationWidget.test.tsx

Lines changed: 0 additions & 28 deletions
This file was deleted.

site/src/components/PaginationWidget/PaginationWidget.tsx

Lines changed: 0 additions & 106 deletions
This file was deleted.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { PaginationWidgetBase } from "./PaginationWidgetBase";
2+
import type { Meta, StoryObj } from "@storybook/react";
3+
4+
const meta: Meta<typeof PaginationWidgetBase> = {
5+
title: "components/PaginationWidgetBase",
6+
component: PaginationWidgetBase,
7+
args: {
8+
page: 1,
9+
limit: 12,
10+
count: 200,
11+
},
12+
};
13+
14+
export default meta;
15+
type Story = StoryObj<typeof PaginationWidgetBase>;
16+
17+
export const MoreThan8Pages: Story = {};
18+
19+
export const LessThan8Pages: Story = {
20+
args: {
21+
count: 84,
22+
},
23+
};
24+
25+
export const MoreThan7PagesWithActivePageCloseToStart: Story = {
26+
args: { page: 2, limit: 12 },
27+
};
28+
29+
export const MoreThan7PagesWithActivePageFarFromBoundaries: Story = {
30+
args: { page: 4, limit: 12 },
31+
};
32+
33+
export const MoreThan7PagesWithActivePageCloseToEnd: Story = {
34+
args: { page: 17, limit: 12 },
35+
};

site/src/components/PaginationWidget/utils.test.ts

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
11
import { buildPagedList, getOffset } from "./utils";
22

3-
describe("unit/PaginationWidget", () => {
4-
describe("buildPagedList", () => {
5-
it.each<{
6-
numPages: number;
7-
activePage: number;
8-
expected: (string | number)[];
9-
}>([
10-
{ numPages: 7, activePage: 1, expected: [1, 2, 3, 4, 5, 6, 7] },
11-
{ numPages: 17, activePage: 1, expected: [1, 2, 3, 4, 5, "right", 17] },
12-
{
13-
numPages: 17,
14-
activePage: 9,
15-
expected: [1, "left", 8, 9, 10, "right", 17],
16-
},
17-
{
18-
numPages: 17,
19-
activePage: 17,
20-
expected: [1, "left", 13, 14, 15, 16, 17],
21-
},
22-
])(
23-
`buildPagedList($numPages, $activePage)`,
24-
({ numPages, activePage, expected }) => {
25-
expect(buildPagedList(numPages, activePage)).toEqual(expected);
26-
},
27-
);
28-
});
3+
describe("buildPagedList", () => {
4+
it.each<{
5+
numPages: number;
6+
activePage: number;
7+
expected: (string | number)[];
8+
}>([
9+
{ numPages: 7, activePage: 1, expected: [1, 2, 3, 4, 5, 6, 7] },
10+
{ numPages: 17, activePage: 1, expected: [1, 2, 3, 4, 5, "right", 17] },
11+
{
12+
numPages: 17,
13+
activePage: 9,
14+
expected: [1, "left", 8, 9, 10, "right", 17],
15+
},
16+
{
17+
numPages: 17,
18+
activePage: 17,
19+
expected: [1, "left", 13, 14, 15, 16, 17],
20+
},
21+
])(
22+
`buildPagedList($numPages, $activePage)`,
23+
({ numPages, activePage, expected }) => {
24+
expect(buildPagedList(numPages, activePage)).toEqual(expected);
25+
},
26+
);
2927
});
3028

3129
describe("getOffset", () => {

0 commit comments

Comments
 (0)