From c00110e426c9d6b502c85e386134d94a0ee94d6d Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Thu, 17 Jul 2025 10:42:11 +0200 Subject: [PATCH] refactor: move usages of create-id to common package (#3606) --- .../src/app/[locale]/boards/[name]/settings/_layout.tsx | 2 +- .../test-connection/test-connection-certificate.tsx | 3 +-- .../tools/kubernetes/cluster-dashboard/cluster-dashboard.tsx | 2 +- .../manage/tools/kubernetes/ingresses/ingresses-table.tsx | 2 +- .../manage/tools/kubernetes/services/services-table.tsx | 2 +- apps/nextjs/src/components/board/items/actions/create-item.ts | 2 +- .../src/components/board/items/actions/duplicate-item.ts | 2 +- .../components/board/items/actions/test/mocks/board-mock.ts | 2 +- .../board/items/actions/test/mocks/category-section-mock.ts | 2 +- .../board/items/actions/test/mocks/dynamic-section-mock.ts | 2 +- .../board/items/actions/test/mocks/empty-section-mock.ts | 2 +- .../components/board/items/actions/test/mocks/item-mock.ts | 2 +- .../components/board/items/actions/test/mocks/layout-mock.ts | 2 +- .../components/board/sections/category/category-actions.ts | 2 +- .../board/sections/category/category-menu-actions.tsx | 2 +- .../board/sections/dynamic/actions/add-dynamic-section.ts | 2 +- packages/api/src/router/apiKeys.ts | 3 ++- packages/api/src/router/app.ts | 3 ++- packages/api/src/router/board.ts | 3 ++- packages/api/src/router/group.ts | 3 ++- packages/api/src/router/integration/integration-router.ts | 4 ++-- packages/api/src/router/invite.ts | 3 ++- packages/api/src/router/medias/media-router.ts | 3 ++- packages/api/src/router/search-engine/search-engine-router.ts | 3 ++- packages/api/src/router/test/app.spec.ts | 2 +- packages/api/src/router/test/board.spec.ts | 3 ++- packages/api/src/router/test/board/board-access.spec.ts | 3 ++- packages/api/src/router/test/group.spec.ts | 3 ++- .../src/router/test/integration/integration-access.spec.ts | 3 ++- .../src/router/test/integration/integration-router.spec.ts | 2 +- packages/api/src/router/test/invite.spec.ts | 2 +- packages/api/src/router/test/serverSettings.spec.ts | 2 +- packages/api/src/router/test/user.spec.ts | 3 ++- packages/api/src/router/user.ts | 3 ++- .../permissions/test/integration-query-permissions.spec.ts | 2 +- .../providers/credentials/authorization/ldap-authorization.ts | 4 ++-- packages/auth/providers/test/basic-authorization.spec.ts | 2 +- packages/auth/providers/test/ldap-authorization.spec.ts | 3 ++- packages/cli/src/commands/recreate-admin.ts | 3 ++- packages/cron-jobs/src/jobs/icons-updater.ts | 3 +-- packages/db/client.ts | 1 - packages/db/index.ts | 1 - packages/db/migrations/seed.ts | 4 ++-- packages/db/package.json | 1 - packages/old-import/src/fix-section-issues.ts | 2 +- packages/old-import/src/import-sections.ts | 2 +- .../old-import/src/import/collections/board-collection.ts | 2 +- packages/old-import/src/import/collections/user-collection.ts | 2 +- packages/old-import/src/mappers/map-board.ts | 2 +- packages/old-import/src/mappers/map-integration.ts | 2 +- packages/old-import/src/mappers/map-item.ts | 2 +- packages/old-import/src/mappers/map-section.ts | 2 +- packages/old-import/src/mappers/map-user.ts | 2 +- packages/redis/package.json | 1 - packages/redis/src/lib/channel.ts | 3 +-- pnpm-lock.yaml | 3 --- 56 files changed, 69 insertions(+), 64 deletions(-) delete mode 100644 packages/db/client.ts diff --git a/apps/nextjs/src/app/[locale]/boards/[name]/settings/_layout.tsx b/apps/nextjs/src/app/[locale]/boards/[name]/settings/_layout.tsx index fdd14d84b..97a576a30 100644 --- a/apps/nextjs/src/app/[locale]/boards/[name]/settings/_layout.tsx +++ b/apps/nextjs/src/app/[locale]/boards/[name]/settings/_layout.tsx @@ -3,7 +3,7 @@ import { Button, Fieldset, Grid, Group, Input, NumberInput, Slider, Stack, Text, TextInput } from "@mantine/core"; import { clientApi } from "@homarr/api/client"; -import { createId } from "@homarr/db/client"; +import { createId } from "@homarr/common"; import { useZodForm } from "@homarr/form"; import { useI18n } from "@homarr/translation/client"; import { boardSaveLayoutsSchema } from "@homarr/validation/board"; diff --git a/apps/nextjs/src/app/[locale]/manage/integrations/_components/test-connection/test-connection-certificate.tsx b/apps/nextjs/src/app/[locale]/manage/integrations/_components/test-connection/test-connection-certificate.tsx index 1a9de69a6..9f7b00530 100644 --- a/apps/nextjs/src/app/[locale]/manage/integrations/_components/test-connection/test-connection-certificate.tsx +++ b/apps/nextjs/src/app/[locale]/manage/integrations/_components/test-connection/test-connection-certificate.tsx @@ -4,8 +4,7 @@ import { IconAlertTriangle, IconCheck, IconCopy, IconExclamationCircle, IconRepe import { clientApi } from "@homarr/api/client"; import { useSession } from "@homarr/auth/client"; -import { getMantineColor } from "@homarr/common"; -import { createId } from "@homarr/db/client"; +import { createId, getMantineColor } from "@homarr/common"; import { createDocumentationLink } from "@homarr/definitions"; import { createModal, useConfirmModal, useModalAction } from "@homarr/modals"; import { AddCertificateModal } from "@homarr/modals-collection"; diff --git a/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/cluster-dashboard/cluster-dashboard.tsx b/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/cluster-dashboard/cluster-dashboard.tsx index ccf0cc556..b6aa8cd9e 100644 --- a/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/cluster-dashboard/cluster-dashboard.tsx +++ b/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/cluster-dashboard/cluster-dashboard.tsx @@ -3,7 +3,7 @@ import { SimpleGrid, Skeleton, Stack, Title } from "@mantine/core"; import { clientApi } from "@homarr/api/client"; -import { createId } from "@homarr/db/client"; +import { createId } from "@homarr/common"; import type { KubernetesLabelResourceType } from "@homarr/definitions"; import { useI18n } from "@homarr/translation/client"; diff --git a/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/ingresses/ingresses-table.tsx b/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/ingresses/ingresses-table.tsx index fbb250806..3787bbe8b 100644 --- a/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/ingresses/ingresses-table.tsx +++ b/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/ingresses/ingresses-table.tsx @@ -10,7 +10,7 @@ import { MantineReactTable } from "mantine-react-table"; import type { RouterOutputs } from "@homarr/api"; import { clientApi } from "@homarr/api/client"; -import { createId } from "@homarr/db/client"; +import { createId } from "@homarr/common"; import type { KubernetesIngress } from "@homarr/definitions"; import type { ScopedTranslationFunction } from "@homarr/translation"; import { useScopedI18n } from "@homarr/translation/client"; diff --git a/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/services/services-table.tsx b/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/services/services-table.tsx index 04a2924d7..05a7f3cb9 100644 --- a/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/services/services-table.tsx +++ b/apps/nextjs/src/app/[locale]/manage/tools/kubernetes/services/services-table.tsx @@ -8,7 +8,7 @@ import { MantineReactTable } from "mantine-react-table"; import type { RouterOutputs } from "@homarr/api"; import { clientApi } from "@homarr/api/client"; -import { createId } from "@homarr/db/client"; +import { createId } from "@homarr/common"; import type { KubernetesService } from "@homarr/definitions"; import type { ScopedTranslationFunction } from "@homarr/translation"; import { useScopedI18n } from "@homarr/translation/client"; diff --git a/apps/nextjs/src/components/board/items/actions/create-item.ts b/apps/nextjs/src/components/board/items/actions/create-item.ts index 66476af41..f71e5aed0 100644 --- a/apps/nextjs/src/components/board/items/actions/create-item.ts +++ b/apps/nextjs/src/components/board/items/actions/create-item.ts @@ -1,6 +1,6 @@ import { getBoardLayouts } from "@homarr/boards/context"; +import { createId } from "@homarr/common"; import type { Modify } from "@homarr/common/types"; -import { createId } from "@homarr/db/client"; import type { WidgetKind } from "@homarr/definitions"; import type { Board, EmptySection, Item, ItemLayout } from "~/app/[locale]/boards/_types"; diff --git a/apps/nextjs/src/components/board/items/actions/duplicate-item.ts b/apps/nextjs/src/components/board/items/actions/duplicate-item.ts index 4ba13638a..5d6de18c3 100644 --- a/apps/nextjs/src/components/board/items/actions/duplicate-item.ts +++ b/apps/nextjs/src/components/board/items/actions/duplicate-item.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db/client"; +import { createId } from "@homarr/common"; import type { Board, EmptySection, ItemLayout, Section } from "~/app/[locale]/boards/_types"; import { getFirstEmptyPosition } from "./empty-position"; diff --git a/apps/nextjs/src/components/board/items/actions/test/mocks/board-mock.ts b/apps/nextjs/src/components/board/items/actions/test/mocks/board-mock.ts index 1afc2e60e..fa4f0f43d 100644 --- a/apps/nextjs/src/components/board/items/actions/test/mocks/board-mock.ts +++ b/apps/nextjs/src/components/board/items/actions/test/mocks/board-mock.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import type { Board, DynamicSection, EmptySection, Item, Section } from "~/app/[locale]/boards/_types"; import { DynamicSectionMockBuilder } from "./dynamic-section-mock"; diff --git a/apps/nextjs/src/components/board/items/actions/test/mocks/category-section-mock.ts b/apps/nextjs/src/components/board/items/actions/test/mocks/category-section-mock.ts index 3958bbbfe..a29b93c26 100644 --- a/apps/nextjs/src/components/board/items/actions/test/mocks/category-section-mock.ts +++ b/apps/nextjs/src/components/board/items/actions/test/mocks/category-section-mock.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import type { CategorySection } from "~/app/[locale]/boards/_types"; diff --git a/apps/nextjs/src/components/board/items/actions/test/mocks/dynamic-section-mock.ts b/apps/nextjs/src/components/board/items/actions/test/mocks/dynamic-section-mock.ts index 553deda9e..81ddc0443 100644 --- a/apps/nextjs/src/components/board/items/actions/test/mocks/dynamic-section-mock.ts +++ b/apps/nextjs/src/components/board/items/actions/test/mocks/dynamic-section-mock.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import type { DynamicSection } from "~/app/[locale]/boards/_types"; diff --git a/apps/nextjs/src/components/board/items/actions/test/mocks/empty-section-mock.ts b/apps/nextjs/src/components/board/items/actions/test/mocks/empty-section-mock.ts index a02a0b137..94adaf189 100644 --- a/apps/nextjs/src/components/board/items/actions/test/mocks/empty-section-mock.ts +++ b/apps/nextjs/src/components/board/items/actions/test/mocks/empty-section-mock.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import type { EmptySection } from "~/app/[locale]/boards/_types"; diff --git a/apps/nextjs/src/components/board/items/actions/test/mocks/item-mock.ts b/apps/nextjs/src/components/board/items/actions/test/mocks/item-mock.ts index 649095a74..624279ab0 100644 --- a/apps/nextjs/src/components/board/items/actions/test/mocks/item-mock.ts +++ b/apps/nextjs/src/components/board/items/actions/test/mocks/item-mock.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import type { Item } from "~/app/[locale]/boards/_types"; diff --git a/apps/nextjs/src/components/board/items/actions/test/mocks/layout-mock.ts b/apps/nextjs/src/components/board/items/actions/test/mocks/layout-mock.ts index a5550394a..8297062f6 100644 --- a/apps/nextjs/src/components/board/items/actions/test/mocks/layout-mock.ts +++ b/apps/nextjs/src/components/board/items/actions/test/mocks/layout-mock.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import type { Board } from "~/app/[locale]/boards/_types"; diff --git a/apps/nextjs/src/components/board/sections/category/category-actions.ts b/apps/nextjs/src/components/board/sections/category/category-actions.ts index c2679897e..8f6009494 100644 --- a/apps/nextjs/src/components/board/sections/category/category-actions.ts +++ b/apps/nextjs/src/components/board/sections/category/category-actions.ts @@ -1,7 +1,7 @@ import { useCallback } from "react"; import { useUpdateBoard } from "@homarr/boards/updater"; -import { createId } from "@homarr/db/client"; +import { createId } from "@homarr/common"; import type { CategorySection, EmptySection, Section } from "~/app/[locale]/boards/_types"; import type { MoveCategoryInput } from "./actions/move-category"; diff --git a/apps/nextjs/src/components/board/sections/category/category-menu-actions.tsx b/apps/nextjs/src/components/board/sections/category/category-menu-actions.tsx index cd5aca6df..906abdea6 100644 --- a/apps/nextjs/src/components/board/sections/category/category-menu-actions.tsx +++ b/apps/nextjs/src/components/board/sections/category/category-menu-actions.tsx @@ -2,7 +2,7 @@ import { useCallback } from "react"; import { fetchApi } from "@homarr/api/client"; import { getCurrentLayout, useRequiredBoard } from "@homarr/boards/context"; -import { createId } from "@homarr/db/client"; +import { createId } from "@homarr/common"; import { useConfirmModal, useModalAction } from "@homarr/modals"; import { useSettings } from "@homarr/settings"; import { useI18n } from "@homarr/translation/client"; diff --git a/apps/nextjs/src/components/board/sections/dynamic/actions/add-dynamic-section.ts b/apps/nextjs/src/components/board/sections/dynamic/actions/add-dynamic-section.ts index c33507a73..11102fb5b 100644 --- a/apps/nextjs/src/components/board/sections/dynamic/actions/add-dynamic-section.ts +++ b/apps/nextjs/src/components/board/sections/dynamic/actions/add-dynamic-section.ts @@ -1,5 +1,5 @@ import { getBoardLayouts } from "@homarr/boards/context"; -import { createId } from "@homarr/db/client"; +import { createId } from "@homarr/common"; import type { Board, DynamicSection, DynamicSectionLayout, EmptySection } from "~/app/[locale]/boards/_types"; import { getFirstEmptyPosition } from "~/components/board/items/actions/empty-position"; diff --git a/packages/api/src/router/apiKeys.ts b/packages/api/src/router/apiKeys.ts index 345d0a705..86a820c31 100644 --- a/packages/api/src/router/apiKeys.ts +++ b/packages/api/src/router/apiKeys.ts @@ -1,8 +1,9 @@ import { z } from "zod"; import { createSaltAsync, hashPasswordAsync } from "@homarr/auth"; +import { createId } from "@homarr/common"; import { generateSecureRandomToken } from "@homarr/common/server"; -import { createId, db, eq } from "@homarr/db"; +import { db, eq } from "@homarr/db"; import { apiKeys } from "@homarr/db/schema"; import { createTRPCRouter, permissionRequiredProcedure } from "../trpc"; diff --git a/packages/api/src/router/app.ts b/packages/api/src/router/app.ts index 77b18b6b8..3f832689e 100644 --- a/packages/api/src/router/app.ts +++ b/packages/api/src/router/app.ts @@ -1,7 +1,8 @@ import { TRPCError } from "@trpc/server"; import { z } from "zod"; -import { asc, createId, eq, inArray, like } from "@homarr/db"; +import { createId } from "@homarr/common"; +import { asc, eq, inArray, like } from "@homarr/db"; import { apps } from "@homarr/db/schema"; import { selectAppSchema } from "@homarr/db/validationSchemas"; import { getIconForName } from "@homarr/icons"; diff --git a/packages/api/src/router/board.ts b/packages/api/src/router/board.ts index e8b096c09..3891a62cf 100644 --- a/packages/api/src/router/board.ts +++ b/packages/api/src/router/board.ts @@ -3,9 +3,10 @@ import superjson from "superjson"; import { z } from "zod"; import { constructBoardPermissions } from "@homarr/auth/shared"; +import { createId } from "@homarr/common"; import type { DeviceType } from "@homarr/common/server"; import type { Database, InferInsertModel, InferSelectModel, SQL } from "@homarr/db"; -import { and, asc, createId, eq, handleTransactionsAsync, inArray, isNull, like, not, or, sql } from "@homarr/db"; +import { and, asc, eq, handleTransactionsAsync, inArray, isNull, like, not, or, sql } from "@homarr/db"; import { createDbInsertCollectionWithoutTransaction } from "@homarr/db/collection"; import { getServerSettingByKeyAsync } from "@homarr/db/queries"; import { diff --git a/packages/api/src/router/group.ts b/packages/api/src/router/group.ts index 3407b066a..bc7f13223 100644 --- a/packages/api/src/router/group.ts +++ b/packages/api/src/router/group.ts @@ -1,8 +1,9 @@ import { TRPCError } from "@trpc/server"; import { z } from "zod"; +import { createId } from "@homarr/common"; import type { Database } from "@homarr/db"; -import { and, createId, eq, handleTransactionsAsync, like, not } from "@homarr/db"; +import { and, eq, handleTransactionsAsync, like, not } from "@homarr/db"; import { getMaxGroupPositionAsync } from "@homarr/db/queries"; import { groupMembers, groupPermissions, groups } from "@homarr/db/schema"; import { everyoneGroup } from "@homarr/definitions"; diff --git a/packages/api/src/router/integration/integration-router.ts b/packages/api/src/router/integration/integration-router.ts index cc0ee8c99..9cfc7cdb1 100644 --- a/packages/api/src/router/integration/integration-router.ts +++ b/packages/api/src/router/integration/integration-router.ts @@ -1,10 +1,10 @@ import { TRPCError } from "@trpc/server"; import { z } from "zod"; -import { objectEntries } from "@homarr/common"; +import { createId, objectEntries } from "@homarr/common"; import { decryptSecret, encryptSecret } from "@homarr/common/server"; import type { Database } from "@homarr/db"; -import { and, asc, createId, eq, handleTransactionsAsync, inArray, like } from "@homarr/db"; +import { and, asc, eq, handleTransactionsAsync, inArray, like } from "@homarr/db"; import { groupMembers, groupPermissions, diff --git a/packages/api/src/router/invite.ts b/packages/api/src/router/invite.ts index 3be975b3d..a88e7fb10 100644 --- a/packages/api/src/router/invite.ts +++ b/packages/api/src/router/invite.ts @@ -2,7 +2,8 @@ import { randomBytes } from "crypto"; import { TRPCError } from "@trpc/server"; import { z } from "zod"; -import { asc, createId, eq } from "@homarr/db"; +import { createId } from "@homarr/common"; +import { asc, eq } from "@homarr/db"; import { invites } from "@homarr/db/schema"; import { selectInviteSchema } from "@homarr/db/validationSchemas"; diff --git a/packages/api/src/router/medias/media-router.ts b/packages/api/src/router/medias/media-router.ts index 9b4dbfb36..47823b312 100644 --- a/packages/api/src/router/medias/media-router.ts +++ b/packages/api/src/router/medias/media-router.ts @@ -1,8 +1,9 @@ import { TRPCError } from "@trpc/server"; import { z } from "zod"; +import { createId } from "@homarr/common"; import type { InferInsertModel } from "@homarr/db"; -import { and, createId, desc, eq, like } from "@homarr/db"; +import { and, desc, eq, like } from "@homarr/db"; import { iconRepositories, icons, medias } from "@homarr/db/schema"; import { createLocalImageUrl, LOCAL_ICON_REPOSITORY_SLUG, mapMediaToIcon } from "@homarr/icons/local"; import { byIdSchema, paginatedSchema } from "@homarr/validation/common"; diff --git a/packages/api/src/router/search-engine/search-engine-router.ts b/packages/api/src/router/search-engine/search-engine-router.ts index f219d34f4..2a330c103 100644 --- a/packages/api/src/router/search-engine/search-engine-router.ts +++ b/packages/api/src/router/search-engine/search-engine-router.ts @@ -1,7 +1,8 @@ import { TRPCError } from "@trpc/server"; import { z } from "zod"; -import { asc, createId, eq, like } from "@homarr/db"; +import { createId } from "@homarr/common"; +import { asc, eq, like } from "@homarr/db"; import { getServerSettingByKeyAsync, updateServerSettingByKeyAsync } from "@homarr/db/queries"; import { searchEngines, users } from "@homarr/db/schema"; import { createIntegrationAsync } from "@homarr/integrations"; diff --git a/packages/api/src/router/test/app.spec.ts b/packages/api/src/router/test/app.spec.ts index b240b9c92..f8877a403 100644 --- a/packages/api/src/router/test/app.spec.ts +++ b/packages/api/src/router/test/app.spec.ts @@ -2,7 +2,7 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import { apps } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { GroupPermissionKey } from "@homarr/definitions"; diff --git a/packages/api/src/router/test/board.spec.ts b/packages/api/src/router/test/board.spec.ts index bf57263b1..8bd21e556 100644 --- a/packages/api/src/router/test/board.spec.ts +++ b/packages/api/src/router/test/board.spec.ts @@ -2,8 +2,9 @@ import SuperJSON from "superjson"; import { describe, expect, it, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; +import { createId } from "@homarr/common"; import type { Database, InferInsertModel } from "@homarr/db"; -import { and, createId, eq, not } from "@homarr/db"; +import { and, eq, not } from "@homarr/db"; import { boardGroupPermissions, boards, diff --git a/packages/api/src/router/test/board/board-access.spec.ts b/packages/api/src/router/test/board/board-access.spec.ts index 370a5bc51..9ba978381 100644 --- a/packages/api/src/router/test/board/board-access.spec.ts +++ b/packages/api/src/router/test/board/board-access.spec.ts @@ -1,7 +1,8 @@ import { describe, expect, test, vi } from "vitest"; import * as authShared from "@homarr/auth/shared"; -import { createId, eq } from "@homarr/db"; +import { createId } from "@homarr/common"; +import { eq } from "@homarr/db"; import { boards, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; diff --git a/packages/api/src/router/test/group.spec.ts b/packages/api/src/router/test/group.spec.ts index 6b880b27a..1f5b461cc 100644 --- a/packages/api/src/router/test/group.spec.ts +++ b/packages/api/src/router/test/group.spec.ts @@ -2,7 +2,8 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; import * as env from "@homarr/auth/env"; -import { createId, eq } from "@homarr/db"; +import { createId } from "@homarr/common"; +import { eq } from "@homarr/db"; import { groupMembers, groupPermissions, groups, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { GroupPermissionKey } from "@homarr/definitions"; diff --git a/packages/api/src/router/test/integration/integration-access.spec.ts b/packages/api/src/router/test/integration/integration-access.spec.ts index 7251f1e9a..b5349558a 100644 --- a/packages/api/src/router/test/integration/integration-access.spec.ts +++ b/packages/api/src/router/test/integration/integration-access.spec.ts @@ -1,7 +1,8 @@ import { describe, expect, test, vi } from "vitest"; import * as authShared from "@homarr/auth/shared"; -import { createId, eq } from "@homarr/db"; +import { createId } from "@homarr/common"; +import { eq } from "@homarr/db"; import { integrations, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; diff --git a/packages/api/src/router/test/integration/integration-router.spec.ts b/packages/api/src/router/test/integration/integration-router.spec.ts index 582752a6b..781d533ce 100644 --- a/packages/api/src/router/test/integration/integration-router.spec.ts +++ b/packages/api/src/router/test/integration/integration-router.spec.ts @@ -2,8 +2,8 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; +import { createId } from "@homarr/common"; import { encryptSecret } from "@homarr/common/server"; -import { createId } from "@homarr/db"; import { integrations, integrationSecrets } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { GroupPermissionKey } from "@homarr/definitions"; diff --git a/packages/api/src/router/test/invite.spec.ts b/packages/api/src/router/test/invite.spec.ts index fce81edd4..57a157de3 100644 --- a/packages/api/src/router/test/invite.spec.ts +++ b/packages/api/src/router/test/invite.spec.ts @@ -2,7 +2,7 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import { invites, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; diff --git a/packages/api/src/router/test/serverSettings.spec.ts b/packages/api/src/router/test/serverSettings.spec.ts index f2d3d848c..6a0e458c2 100644 --- a/packages/api/src/router/test/serverSettings.spec.ts +++ b/packages/api/src/router/test/serverSettings.spec.ts @@ -2,7 +2,7 @@ import SuperJSON from "superjson"; import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import { serverSettings } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { defaultServerSettings, defaultServerSettingsKeys } from "@homarr/server-settings"; diff --git a/packages/api/src/router/test/user.spec.ts b/packages/api/src/router/test/user.spec.ts index b3af6f7a5..b3b262846 100644 --- a/packages/api/src/router/test/user.spec.ts +++ b/packages/api/src/router/test/user.spec.ts @@ -1,8 +1,9 @@ import { describe, expect, it, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; +import { createId } from "@homarr/common"; import type { Database } from "@homarr/db"; -import { createId, eq } from "@homarr/db"; +import { eq } from "@homarr/db"; import { invites, onboarding, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { GroupPermissionKey, OnboardingStep } from "@homarr/definitions"; diff --git a/packages/api/src/router/user.ts b/packages/api/src/router/user.ts index ff802e1df..7cbe40a82 100644 --- a/packages/api/src/router/user.ts +++ b/packages/api/src/router/user.ts @@ -2,8 +2,9 @@ import { TRPCError } from "@trpc/server"; import { z } from "zod"; import { createSaltAsync, hashPasswordAsync } from "@homarr/auth"; +import { createId } from "@homarr/common"; import type { Database } from "@homarr/db"; -import { and, createId, eq, like } from "@homarr/db"; +import { and, eq, like } from "@homarr/db"; import { getMaxGroupPositionAsync } from "@homarr/db/queries"; import { boards, groupMembers, groupPermissions, groups, invites, users } from "@homarr/db/schema"; import { selectUserSchema } from "@homarr/db/validationSchemas"; diff --git a/packages/auth/permissions/test/integration-query-permissions.spec.ts b/packages/auth/permissions/test/integration-query-permissions.spec.ts index 0ee04f913..4942c71cc 100644 --- a/packages/auth/permissions/test/integration-query-permissions.spec.ts +++ b/packages/auth/permissions/test/integration-query-permissions.spec.ts @@ -1,8 +1,8 @@ import type { Session } from "next-auth"; import { describe, expect, test, vi } from "vitest"; +import { createId } from "@homarr/common"; import type { InferInsertModel } from "@homarr/db"; -import { createId } from "@homarr/db"; import { boardGroupPermissions, boards, boardUserPermissions, groupMembers, groups, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; diff --git a/packages/auth/providers/credentials/authorization/ldap-authorization.ts b/packages/auth/providers/credentials/authorization/ldap-authorization.ts index 9bfa90c2a..c0d153c88 100644 --- a/packages/auth/providers/credentials/authorization/ldap-authorization.ts +++ b/packages/auth/providers/credentials/authorization/ldap-authorization.ts @@ -1,9 +1,9 @@ import { CredentialsSignin } from "@auth/core/errors"; import { z } from "zod"; -import { extractErrorMessage } from "@homarr/common"; +import { createId, extractErrorMessage } from "@homarr/common"; import type { Database, InferInsertModel } from "@homarr/db"; -import { and, createId, eq } from "@homarr/db"; +import { and, eq } from "@homarr/db"; import { users } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { userSignInSchema } from "@homarr/validation/user"; diff --git a/packages/auth/providers/test/basic-authorization.spec.ts b/packages/auth/providers/test/basic-authorization.spec.ts index 8955ea83a..17d1d00e1 100644 --- a/packages/auth/providers/test/basic-authorization.spec.ts +++ b/packages/auth/providers/test/basic-authorization.spec.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "vitest"; -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import { users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; diff --git a/packages/auth/providers/test/ldap-authorization.spec.ts b/packages/auth/providers/test/ldap-authorization.spec.ts index 2ea43034a..09b7bd151 100644 --- a/packages/auth/providers/test/ldap-authorization.spec.ts +++ b/packages/auth/providers/test/ldap-authorization.spec.ts @@ -1,8 +1,9 @@ import { CredentialsSignin } from "@auth/core/errors"; import { describe, expect, test, vi } from "vitest"; +import { createId } from "@homarr/common"; import type { Database } from "@homarr/db"; -import { and, createId, eq } from "@homarr/db"; +import { and, eq } from "@homarr/db"; import { groups, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; diff --git a/packages/cli/src/commands/recreate-admin.ts b/packages/cli/src/commands/recreate-admin.ts index 29d7027df..a00bad351 100644 --- a/packages/cli/src/commands/recreate-admin.ts +++ b/packages/cli/src/commands/recreate-admin.ts @@ -1,8 +1,9 @@ import { command, string } from "@drizzle-team/brocli"; import { createSaltAsync, hashPasswordAsync } from "@homarr/auth"; +import { createId } from "@homarr/common"; import { generateSecureRandomToken } from "@homarr/common/server"; -import { and, count, createId, db, eq } from "@homarr/db"; +import { and, count, db, eq } from "@homarr/db"; import { getMaxGroupPositionAsync } from "@homarr/db/queries"; import { groupMembers, groupPermissions, groups, users } from "@homarr/db/schema"; import { usernameSchema } from "@homarr/validation/user"; diff --git a/packages/cron-jobs/src/jobs/icons-updater.ts b/packages/cron-jobs/src/jobs/icons-updater.ts index d11a1cb05..8308661ef 100644 --- a/packages/cron-jobs/src/jobs/icons-updater.ts +++ b/packages/cron-jobs/src/jobs/icons-updater.ts @@ -1,8 +1,7 @@ -import { splitToNChunks, Stopwatch } from "@homarr/common"; +import { createId, splitToNChunks, Stopwatch } from "@homarr/common"; import { EVERY_WEEK } from "@homarr/cron-jobs-core/expressions"; import type { InferInsertModel } from "@homarr/db"; import { db, handleTransactionsAsync, inArray, sql } from "@homarr/db"; -import { createId } from "@homarr/db/client"; import { iconRepositories, icons } from "@homarr/db/schema"; import { fetchIconsAsync } from "@homarr/icons"; import { logger } from "@homarr/log"; diff --git a/packages/db/client.ts b/packages/db/client.ts deleted file mode 100644 index 72b8e27b0..000000000 --- a/packages/db/client.ts +++ /dev/null @@ -1 +0,0 @@ -export { createId } from "@paralleldrive/cuid2"; diff --git a/packages/db/index.ts b/packages/db/index.ts index ac54017c0..dd98d8a1b 100644 --- a/packages/db/index.ts +++ b/packages/db/index.ts @@ -9,5 +9,4 @@ export const db = database; export type Database = typeof db; export type { HomarrDatabaseMysql } from "./driver"; -export { createId } from "@paralleldrive/cuid2"; export { handleDiffrentDbDriverOperationsAsync as handleTransactionsAsync } from "./transactions"; diff --git a/packages/db/migrations/seed.ts b/packages/db/migrations/seed.ts index f9c425ed0..4a1efdafc 100644 --- a/packages/db/migrations/seed.ts +++ b/packages/db/migrations/seed.ts @@ -1,4 +1,4 @@ -import { objectKeys } from "@homarr/common"; +import { createId, objectKeys } from "@homarr/common"; import { createDocumentationLink, everyoneGroup, @@ -9,7 +9,7 @@ import { import { defaultServerSettings, defaultServerSettingsKeys } from "@homarr/server-settings"; import type { Database } from ".."; -import { createId, eq } from ".."; +import { eq } from ".."; import { getServerSettingByKeyAsync, insertServerSettingByKeyAsync, diff --git a/packages/db/package.json b/packages/db/package.json index ef76124dc..0c2dd493b 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -6,7 +6,6 @@ "type": "module", "exports": { ".": "./index.ts", - "./client": "./client.ts", "./collection": "./collection.ts", "./schema": "./schema/index.ts", "./test": "./test/index.ts", diff --git a/packages/old-import/src/fix-section-issues.ts b/packages/old-import/src/fix-section-issues.ts index 8ac481031..b34c24871 100644 --- a/packages/old-import/src/fix-section-issues.ts +++ b/packages/old-import/src/fix-section-issues.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import { logger } from "@homarr/log"; import type { OldmarrConfig } from "@homarr/old-schema"; diff --git a/packages/old-import/src/import-sections.ts b/packages/old-import/src/import-sections.ts index 4d332b87c..f1900790b 100644 --- a/packages/old-import/src/import-sections.ts +++ b/packages/old-import/src/import-sections.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import type { Database } from "@homarr/db"; import { sections } from "@homarr/db/schema"; import { logger } from "@homarr/log"; diff --git a/packages/old-import/src/import/collections/board-collection.ts b/packages/old-import/src/import/collections/board-collection.ts index 961dd8219..df8d72648 100644 --- a/packages/old-import/src/import/collections/board-collection.ts +++ b/packages/old-import/src/import/collections/board-collection.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import { createDbInsertCollectionForTransaction } from "@homarr/db/collection"; import { logger } from "@homarr/log"; import type { BoardSize, OldmarrConfig } from "@homarr/old-schema"; diff --git a/packages/old-import/src/import/collections/user-collection.ts b/packages/old-import/src/import/collections/user-collection.ts index 4a25fcb99..5f8a54117 100644 --- a/packages/old-import/src/import/collections/user-collection.ts +++ b/packages/old-import/src/import/collections/user-collection.ts @@ -1,4 +1,4 @@ -import { createId } from "@homarr/db"; +import { createId } from "@homarr/common"; import { createDbInsertCollectionForTransaction } from "@homarr/db/collection"; import { credentialsAdminGroup } from "@homarr/definitions"; import { logger } from "@homarr/log"; diff --git a/packages/old-import/src/mappers/map-board.ts b/packages/old-import/src/mappers/map-board.ts index 7b5450057..e9ce89921 100644 --- a/packages/old-import/src/mappers/map-board.ts +++ b/packages/old-import/src/mappers/map-board.ts @@ -1,5 +1,5 @@ +import { createId } from "@homarr/common"; import type { InferInsertModel } from "@homarr/db"; -import { createId } from "@homarr/db"; import type { boards } from "@homarr/db/schema"; import type { prepareMultipleImports } from "../prepare/prepare-multiple"; diff --git a/packages/old-import/src/mappers/map-integration.ts b/packages/old-import/src/mappers/map-integration.ts index 8c24c2adf..a9124e256 100644 --- a/packages/old-import/src/mappers/map-integration.ts +++ b/packages/old-import/src/mappers/map-integration.ts @@ -1,5 +1,5 @@ +import { createId } from "@homarr/common"; import { decryptSecretWithKey } from "@homarr/common/server"; -import { createId } from "@homarr/db"; import type { IntegrationKind } from "@homarr/definitions"; import type { OldmarrIntegrationType } from "@homarr/old-schema"; diff --git a/packages/old-import/src/mappers/map-item.ts b/packages/old-import/src/mappers/map-item.ts index 91ba5b95c..98c69b67d 100644 --- a/packages/old-import/src/mappers/map-item.ts +++ b/packages/old-import/src/mappers/map-item.ts @@ -1,7 +1,7 @@ import SuperJSON from "superjson"; +import { createId } from "@homarr/common"; import type { InferInsertModel } from "@homarr/db"; -import { createId } from "@homarr/db"; import type { itemLayouts, items } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { BoardSize, OldmarrApp, OldmarrWidget } from "@homarr/old-schema"; diff --git a/packages/old-import/src/mappers/map-section.ts b/packages/old-import/src/mappers/map-section.ts index e80b8969a..d27a8100d 100644 --- a/packages/old-import/src/mappers/map-section.ts +++ b/packages/old-import/src/mappers/map-section.ts @@ -1,5 +1,5 @@ +import { createId } from "@homarr/common"; import type { InferInsertModel } from "@homarr/db"; -import { createId } from "@homarr/db"; import type { sections } from "@homarr/db/schema"; import type { OldmarrCategorySection, OldmarrEmptySection } from "@homarr/old-schema"; diff --git a/packages/old-import/src/mappers/map-user.ts b/packages/old-import/src/mappers/map-user.ts index 057222ec8..f0b57cebf 100644 --- a/packages/old-import/src/mappers/map-user.ts +++ b/packages/old-import/src/mappers/map-user.ts @@ -1,6 +1,6 @@ +import { createId } from "@homarr/common"; import { decryptSecretWithKey } from "@homarr/common/server"; import type { InferInsertModel } from "@homarr/db"; -import { createId } from "@homarr/db"; import type { users } from "@homarr/db/schema"; import type { OldmarrImportUser } from "../user-schema"; diff --git a/packages/redis/package.json b/packages/redis/package.json index 8853cfebf..77ab66b07 100644 --- a/packages/redis/package.json +++ b/packages/redis/package.json @@ -23,7 +23,6 @@ "prettier": "@homarr/prettier-config", "dependencies": { "@homarr/common": "workspace:^", - "@homarr/db": "workspace:^", "@homarr/definitions": "workspace:^", "@homarr/log": "workspace:^", "ioredis": "5.6.1", diff --git a/packages/redis/src/lib/channel.ts b/packages/redis/src/lib/channel.ts index 686fd4f50..d649563ed 100644 --- a/packages/redis/src/lib/channel.ts +++ b/packages/redis/src/lib/channel.ts @@ -1,7 +1,6 @@ import superjson from "superjson"; -import { hashObjectBase64 } from "@homarr/common"; -import { createId } from "@homarr/db"; +import { createId, hashObjectBase64 } from "@homarr/common"; import type { WidgetKind } from "@homarr/definitions"; import { logger } from "@homarr/log"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 703e8dfbe..b0df2136a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1697,9 +1697,6 @@ importers: '@homarr/common': specifier: workspace:^ version: link:../common - '@homarr/db': - specifier: workspace:^ - version: link:../db '@homarr/definitions': specifier: workspace:^ version: link:../definitions