Skip to content

Commit 451320e

Browse files
refactor: [M3-9371 ] - Move Entity Transfers queries (linode#12406)
* refactor: [M3-9371] - Move entitytransfers queries * update paths * Added changeset: Moved entitytransfers queries and dependencies to shared `queries` package * Added changeset: Created `entitytransfer/` directory and migrated relevant query keys and hooks * Update pr-12406-added-1750445559603.md * Remove entity transfers query from manager package * Update index.ts * Update packages/queries/.changeset/pr-12406-added-1750445559603.md Co-authored-by: Connie Liu <[email protected]> * Update packages/manager/.changeset/pr-12406-removed-1750445509258.md Co-authored-by: Connie Liu <[email protected]> --------- Co-authored-by: Connie Liu <[email protected]>
1 parent 6f67656 commit 451320e

File tree

10 files changed

+48
-36
lines changed

10 files changed

+48
-36
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@linode/manager": Removed
3+
---
4+
5+
Move EntityTransfers queries and dependencies to shared `queries` package ([#12406](https://github.com/linode/manager/pull/12406))

packages/manager/src/features/EntityTransfers/EntityTransfersCreate/EntityTransfersCreate.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { entityTransfersQueryKey, useCreateTransfer } from '@linode/queries';
12
import Grid from '@mui/material/Grid';
23
import { useQueryClient } from '@tanstack/react-query';
34
import { createLazyRoute } from '@tanstack/react-router';
@@ -6,7 +7,6 @@ import { useHistory } from 'react-router-dom';
67

78
import { DocumentTitleSegment } from 'src/components/DocumentTitle';
89
import { LandingHeader } from 'src/components/LandingHeader';
9-
import { queryKey, useCreateTransfer } from 'src/queries/entityTransfers';
1010
import { sendEntityTransferCreateEvent } from 'src/utilities/analytics/customEventAnalytics';
1111
import { getAPIErrorOrDefault } from 'src/utilities/errorUtils';
1212

@@ -68,7 +68,7 @@ export const EntityTransfersCreate = () => {
6868
sendEntityTransferCreateEvent(entityCount);
6969

7070
queryClient.invalidateQueries({
71-
queryKey: [queryKey],
71+
queryKey: [entityTransfersQueryKey],
7272
});
7373
push({ pathname: '/account/service-transfers', state: { transfer } });
7474
},

packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { cancelTransfer } from '@linode/api-v4/lib/entity-transfers';
2+
import { entityTransfersQueryKey } from '@linode/queries';
23
import { ActionsPanel, Notice, Typography } from '@linode/ui';
34
import { useQueryClient } from '@tanstack/react-query';
45
import { useSnackbar } from 'notistack';
56
import * as React from 'react';
67

78
import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog';
8-
import { queryKey } from 'src/queries/entityTransfers';
99
import { sendEntityTransferCancelEvent } from 'src/utilities/analytics/customEventAnalytics';
1010
import { getAPIErrorOrDefault } from 'src/utilities/errorUtils';
1111

@@ -53,7 +53,7 @@ export const ConfirmTransferCancelDialog = React.memo((props: Props) => {
5353

5454
// Refresh the query for Entity Transfers.
5555
queryClient.invalidateQueries({
56-
queryKey: [queryKey],
56+
queryKey: [entityTransfersQueryKey],
5757
});
5858

5959
onClose();

packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import { acceptEntityTransfer } from '@linode/api-v4/lib/entity-transfers';
2-
import { useProfile } from '@linode/queries';
2+
import {
3+
entityTransfersQueryKey,
4+
TRANSFER_FILTERS,
5+
useProfile,
6+
useTransferQuery,
7+
} from '@linode/queries';
38
import { Checkbox, CircleProgress, ErrorState, Notice } from '@linode/ui';
49
import { capitalize, pluralize } from '@linode/utilities';
510
import { useQueryClient } from '@tanstack/react-query';
611
import { useSnackbar } from 'notistack';
712
import * as React from 'react';
813

914
import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog';
10-
import {
11-
queryKey,
12-
TRANSFER_FILTERS,
13-
useTransferQuery,
14-
} from 'src/queries/entityTransfers';
1515
import { sendEntityTransferReceiveEvent } from 'src/utilities/analytics/customEventAnalytics';
1616
import { parseAPIDate } from 'src/utilities/date';
1717
import { getAPIErrorOrDefault } from 'src/utilities/errorUtils';
@@ -90,7 +90,7 @@ export const ConfirmTransferDialog = React.memo(
9090
// Update the received transfer table since we're already on the landing page
9191
queryClient.invalidateQueries({
9292
predicate: (query) =>
93-
query.queryKey[0] === queryKey &&
93+
query.queryKey[0] === entityTransfersQueryKey &&
9494
query.queryKey[2] === TRANSFER_FILTERS.received,
9595
});
9696
onClose();

packages/manager/src/features/EntityTransfers/EntityTransfersLanding/EntityTransfersLanding.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1+
import { TRANSFER_FILTERS, useEntityTransfersQuery } from '@linode/queries';
12
import { CircleProgress } from '@linode/ui';
23
import * as React from 'react';
34
import { useHistory, useLocation } from 'react-router-dom';
45

56
import { DocumentTitleSegment } from 'src/components/DocumentTitle';
67
import { usePaginationV2 } from 'src/hooks/usePaginationV2';
7-
import {
8-
TRANSFER_FILTERS,
9-
useEntityTransfersQuery,
10-
} from 'src/queries/entityTransfers';
118

129
import { TransfersTable } from '../TransfersTable';
1310
import { CreateTransferSuccessDialog } from './CreateTransferSuccessDialog';
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@linode/queries": Added
3+
---
4+
5+
`entitytransfers/` directory and migrated relevant query keys and hooks ([#12406](https://github.com/linode/manager/pull/12406))

packages/manager/src/queries/entityTransfers.ts renamed to packages/queries/src/entitytransfers/entityTransfers.ts

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
import {
22
createEntityTransfer,
33
getEntityTransfer,
4-
getEntityTransfers,
54
} from '@linode/api-v4/lib/entity-transfers';
6-
import {
7-
creationHandlers,
8-
listToItemsByID,
9-
queryPresets,
10-
useProfile,
11-
} from '@linode/queries';
125
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
136

7+
import { creationHandlers, queryPresets } from '../base';
8+
import { useProfile } from '../profile';
9+
import { getAllEntityTransfersRequest } from './requests';
10+
1411
import type {
1512
CreateTransferPayload,
1613
EntityTransfer,
1714
} from '@linode/api-v4/lib/entity-transfers';
1815
import type { APIError, Filter, Params } from '@linode/api-v4/lib/types';
1916

20-
export const queryKey = 'entity-transfers';
17+
export const entityTransfersQueryKey = 'entity-transfers';
2118

2219
interface EntityTransfersData {
2320
entityTransfers: Record<string, EntityTransfer>;
@@ -41,24 +38,15 @@ export const TRANSFER_FILTERS = {
4138
},
4239
};
4340

44-
const getAllEntityTransfersRequest = (
45-
passedParams: Params = {},
46-
passedFilter: Filter = {}
47-
) =>
48-
getEntityTransfers(passedParams, passedFilter).then((data) => ({
49-
entityTransfers: listToItemsByID(data.data, 'token'),
50-
results: data.results,
51-
}));
52-
5341
export const useEntityTransfersQuery = (
5442
params: Params = {},
55-
filter: Filter = {}
43+
filter: Filter = {},
5644
) => {
5745
const { data: profile } = useProfile();
5846

5947
return useQuery<EntityTransfersData, APIError[]>({
6048
queryFn: () => getAllEntityTransfersRequest(params, filter),
61-
queryKey: [queryKey, params, filter],
49+
queryKey: [entityTransfersQueryKey, params, filter],
6250
...queryPresets.longLived,
6351
enabled: !profile?.restricted,
6452
});
@@ -67,7 +55,7 @@ export const useEntityTransfersQuery = (
6755
export const useTransferQuery = (token: string, enabled: boolean = true) => {
6856
return useQuery<EntityTransfer, APIError[]>({
6957
queryFn: () => getEntityTransfer(token),
70-
queryKey: [queryKey, token],
58+
queryKey: [entityTransfersQueryKey, token],
7159
...queryPresets.shortLived,
7260
enabled,
7361
retry: false,
@@ -80,6 +68,6 @@ export const useCreateTransfer = () => {
8068
mutationFn: (createData) => {
8169
return createEntityTransfer(createData);
8270
},
83-
...creationHandlers([queryKey], 'token', queryClient),
71+
...creationHandlers([entityTransfersQueryKey], 'token', queryClient),
8472
});
8573
};
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './entityTransfers';
2+
export * from './requests';
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { getEntityTransfers } from '@linode/api-v4/lib/entity-transfers';
2+
3+
import { listToItemsByID } from '../base';
4+
5+
import type { Filter, Params } from '@linode/api-v4/lib/types';
6+
7+
export const getAllEntityTransfersRequest = (
8+
passedParams: Params = {},
9+
passedFilter: Filter = {},
10+
) =>
11+
getEntityTransfers(passedParams, passedFilter).then((data) => ({
12+
entityTransfers: listToItemsByID(data.data, 'token'),
13+
results: data.results,
14+
}));

packages/queries/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export * from './base';
33
export * from './betas';
44
export * from './cloudnats';
55
export * from './domains';
6+
export * from './entitytransfers';
67
export * from './eventHandlers';
78
export * from './firewalls';
89
export * from './iam';

0 commit comments

Comments
 (0)