From 47feb4f19d37bac6d0e623066fb90764e5ccac0d Mon Sep 17 00:00:00 2001 From: ecarrill Date: Thu, 20 Mar 2025 10:50:15 -0700 Subject: [PATCH 1/3] refactor: [M3-9390] - Move Tags queries --- packages/manager/src/components/TagCell/AddTag.tsx | 8 +++++--- packages/manager/src/components/TagsInput/TagsInput.tsx | 7 +++++-- packages/manager/src/factories/tags.ts | 3 ++- packages/queries/src/index.ts | 1 + packages/queries/src/tags/index.ts | 1 + .../{manager/src/queries => queries/src/tags}/tags.ts | 3 ++- 6 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 packages/queries/src/tags/index.ts rename packages/{manager/src/queries => queries/src/tags}/tags.ts (95%) diff --git a/packages/manager/src/components/TagCell/AddTag.tsx b/packages/manager/src/components/TagCell/AddTag.tsx index 6f7a4f50b6d..96b22b92cb4 100644 --- a/packages/manager/src/components/TagCell/AddTag.tsx +++ b/packages/manager/src/components/TagCell/AddTag.tsx @@ -1,10 +1,12 @@ +import { + updateTagsSuggestionsData, + useAllTagsQuery, + useProfile, +} from '@linode/queries'; import { Autocomplete } from '@linode/ui'; import { useQueryClient } from '@tanstack/react-query'; import * as React from 'react'; -import { useProfile } from '@linode/queries'; -import { updateTagsSuggestionsData, useAllTagsQuery } from 'src/queries/tags'; - interface AddTagProps { addTag: (tag: string) => Promise; existingTags: string[]; diff --git a/packages/manager/src/components/TagsInput/TagsInput.tsx b/packages/manager/src/components/TagsInput/TagsInput.tsx index 2529e0909dd..6dce5122a9a 100644 --- a/packages/manager/src/components/TagsInput/TagsInput.tsx +++ b/packages/manager/src/components/TagsInput/TagsInput.tsx @@ -1,11 +1,14 @@ +import { + updateTagsSuggestionsData, + useAllTagsQuery, + useProfile, +} from '@linode/queries'; import { Autocomplete, Chip } from '@linode/ui'; import CloseIcon from '@mui/icons-material/Close'; import { useQueryClient } from '@tanstack/react-query'; import { concat } from 'ramda'; import * as React from 'react'; -import { useProfile } from '@linode/queries'; -import { updateTagsSuggestionsData, useAllTagsQuery } from 'src/queries/tags'; import { getErrorMap } from 'src/utilities/errorUtils'; import type { APIError } from '@linode/api-v4/lib/types'; diff --git a/packages/manager/src/factories/tags.ts b/packages/manager/src/factories/tags.ts index b4f42bfbb61..9c0bf2437f3 100644 --- a/packages/manager/src/factories/tags.ts +++ b/packages/manager/src/factories/tags.ts @@ -1,6 +1,7 @@ -import { Tag } from '@linode/api-v4/lib/tags/types'; import { Factory } from '@linode/utilities'; +import type { Tag } from '@linode/api-v4/lib/tags/types'; + export const tagFactory = Factory.Sync.makeFactory({ label: Factory.each((id) => `tag-${id + 1}`), }); diff --git a/packages/queries/src/index.ts b/packages/queries/src/index.ts index 6002c8b1230..964a503c334 100644 --- a/packages/queries/src/index.ts +++ b/packages/queries/src/index.ts @@ -8,6 +8,7 @@ export * from './nodebalancers'; export * from './placementGroups'; export * from './profile'; export * from './regions'; +export * from './tags'; export * from './vlans'; export * from './vpcs'; export * from './volumes'; diff --git a/packages/queries/src/tags/index.ts b/packages/queries/src/tags/index.ts new file mode 100644 index 00000000000..6e2133be61e --- /dev/null +++ b/packages/queries/src/tags/index.ts @@ -0,0 +1 @@ +export * from './tags'; diff --git a/packages/manager/src/queries/tags.ts b/packages/queries/src/tags/tags.ts similarity index 95% rename from packages/manager/src/queries/tags.ts rename to packages/queries/src/tags/tags.ts index ac0dc241c8f..c8deeed0094 100644 --- a/packages/manager/src/queries/tags.ts +++ b/packages/queries/src/tags/tags.ts @@ -1,9 +1,10 @@ import { getTags } from '@linode/api-v4'; -import { queryPresets } from '@linode/queries'; import { getAll } from '@linode/utilities'; import { createQueryKeys } from '@lukemorales/query-key-factory'; import { useQuery } from '@tanstack/react-query'; +import { queryPresets } from '../base'; + import type { APIError, Filter, Params, Tag } from '@linode/api-v4'; import type { QueryClient } from '@tanstack/react-query'; From d9cdf8ad25f73c14f9dc69b16d95c7e6373d79e5 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Thu, 20 Mar 2025 11:03:52 -0700 Subject: [PATCH 2/3] Add changesets --- .../manager/.changeset/pr-11897-removed-1742493750939.md | 5 +++++ packages/queries/.changeset/pr-11897-added-1742493818548.md | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 packages/manager/.changeset/pr-11897-removed-1742493750939.md create mode 100644 packages/queries/.changeset/pr-11897-added-1742493818548.md diff --git a/packages/manager/.changeset/pr-11897-removed-1742493750939.md b/packages/manager/.changeset/pr-11897-removed-1742493750939.md new file mode 100644 index 00000000000..b22f472ac88 --- /dev/null +++ b/packages/manager/.changeset/pr-11897-removed-1742493750939.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Removed +--- + +Moved Tags-related queries and dependencies to shares `queries` package ([#11897](https://github.com/linode/manager/pull/11897)) diff --git a/packages/queries/.changeset/pr-11897-added-1742493818548.md b/packages/queries/.changeset/pr-11897-added-1742493818548.md new file mode 100644 index 00000000000..f0b443fb5ad --- /dev/null +++ b/packages/queries/.changeset/pr-11897-added-1742493818548.md @@ -0,0 +1,5 @@ +--- +"@linode/queries": Added +--- + +Created `tags/` directory and migrated relevant query keys and hooks ([#11897](https://github.com/linode/manager/pull/11897)) From 35d32618d382ba8fa7334d5ac3defd0ac01aeffa Mon Sep 17 00:00:00 2001 From: ecarrill Date: Fri, 21 Mar 2025 12:14:17 -0700 Subject: [PATCH 3/3] PR feedback and merge conflicts --- packages/manager/src/factories/tags.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/manager/src/factories/tags.ts b/packages/manager/src/factories/tags.ts index 9c0bf2437f3..5f100f7992f 100644 --- a/packages/manager/src/factories/tags.ts +++ b/packages/manager/src/factories/tags.ts @@ -1,6 +1,6 @@ import { Factory } from '@linode/utilities'; -import type { Tag } from '@linode/api-v4/lib/tags/types'; +import type { Tag } from '@linode/api-v4'; export const tagFactory = Factory.Sync.makeFactory({ label: Factory.each((id) => `tag-${id + 1}`),