Compare commits

...
Author SHA1 Message Date
Meier Lukas 30a336f951 fix: missing updated imports 2025-12-20 22:50:50 +01:00
Meier Lukas 978121b6ed fix(db): remove bulk drizzle-orm export 2025-12-20 22:37:09 +01:00
82 changed files with 171 additions and 80 deletions

No files matched your search

+1
View File
@@ -71,6 +71,7 @@
"clsx": "^2.1.1",
"dayjs": "^1.11.19",
"dotenv": "^17.2.3",
"drizzle-orm": "^0.45.1",
"flag-icons": "^7.5.0",
"glob": "^13.0.0",
"isomorphic-dompurify": "^2.34.0",
@@ -1,9 +1,10 @@
import { notFound } from "next/navigation";
import { Card, Center, Stack, Text, Title } from "@mantine/core";
import { and, eq } from "drizzle-orm";
import { auth } from "@homarr/auth/next";
import { isProviderEnabled } from "@homarr/auth/server";
import { and, db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { invites } from "@homarr/db/schema";
import { getScopedI18n } from "@homarr/translation/server";
@@ -1,8 +1,9 @@
import { notFound } from "next/navigation";
import { inArray } from "drizzle-orm";
import { auth } from "@homarr/auth/next";
import { isProviderEnabled } from "@homarr/auth/server";
import { db, inArray } from "@homarr/db";
import { db } from "@homarr/db";
import { groups } from "@homarr/db/schema";
import { everyoneGroup } from "@homarr/definitions";
import { getScopedI18n } from "@homarr/translation/server";
+2 -1
View File
@@ -1,5 +1,6 @@
import type { NextRequest } from "next/server";
import { userAgent } from "next/server";
import { eq } from "drizzle-orm";
import { createOpenApiFetchHandler } from "trpc-to-openapi";
import { appRouter, createTRPCContext } from "@homarr/api";
@@ -8,7 +9,7 @@ import { hashPasswordAsync } from "@homarr/auth";
import { createSessionAsync } from "@homarr/auth/server";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error";
import { db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { apiKeys } from "@homarr/db/schema";
const logger = createLogger({ module: "trpcOpenApiRoute" });
@@ -1,9 +1,10 @@
import { notFound } from "next/navigation";
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
import { eq } from "drizzle-orm";
import DOMPurify from "isomorphic-dompurify";
import { db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { medias } from "@homarr/db/schema";
export async function GET(_req: NextRequest, props: { params: Promise<{ id: string }> }) {
+1
View File
@@ -39,6 +39,7 @@
"@homarr/widgets": "workspace:^0.1.0",
"dayjs": "^1.11.19",
"dotenv": "^17.2.3",
"drizzle-orm": "^0.45.1",
"fastify": "^5.6.2",
"superjson": "2.2.6",
"undici": "7.16.0"
+3 -2
View File
@@ -1,10 +1,11 @@
import type { InferInsertModel } from "drizzle-orm";
import { eq } from "drizzle-orm";
import { schedule, validate as validateCron } from "node-cron";
import { createLogger } from "@homarr/core/infrastructure/logs";
import type { IJobManager } from "@homarr/cron-job-api";
import type { jobGroup as cronJobGroup, JobGroupKeys } from "@homarr/cron-jobs";
import type { Database, InferInsertModel } from "@homarr/db";
import { eq } from "@homarr/db";
import type { Database } from "@homarr/db";
import { cronJobConfigurations } from "@homarr/db/schema";
const logger = createLogger({ module: "jobManager" });
+3 -1
View File
@@ -1,6 +1,8 @@
import { eq, inArray } from "drizzle-orm";
import { env } from "@homarr/auth/env";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { db, eq, inArray } from "@homarr/db";
import { db } from "@homarr/db";
import { sessions, users } from "@homarr/db/schema";
import { supportedAuthProviders } from "@homarr/definitions";
+1
View File
@@ -26,6 +26,7 @@
"@homarr/db": "workspace:^0.1.0",
"@homarr/server-settings": "workspace:^0.1.0",
"@umami/node": "^0.4.0",
"drizzle-orm": "^0.45.1",
"superjson": "2.2.6"
},
"devDependencies": {
@@ -1,8 +1,9 @@
import type { UmamiEventData } from "@umami/node";
import { Umami } from "@umami/node";
import { count } from "drizzle-orm";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { count, db } from "@homarr/db";
import { db } from "@homarr/db";
import { getServerSettingByKeyAsync } from "@homarr/db/queries";
import { integrations, items, users } from "@homarr/db/schema";
import type { defaultServerSettings } from "@homarr/server-settings";
+1
View File
@@ -46,6 +46,7 @@
"@trpc/react-query": "^11.8.0",
"@trpc/server": "^11.8.0",
"@trpc/tanstack-react-query": "^11.8.0",
"drizzle-orm": "^0.45.1",
"lodash.clonedeep": "^4.5.0",
"next": "16.0.10",
"react": "19.2.3",
+1 -1
View File
@@ -1,4 +1,5 @@
import { TRPCError } from "@trpc/server";
import { and, eq, inArray } from "drizzle-orm";
import { z } from "zod/v4";
import type { Session } from "@homarr/auth";
@@ -7,7 +8,6 @@ import { constructIntegrationPermissions } from "@homarr/auth/shared";
import { decryptSecret } from "@homarr/common/server";
import type { AtLeastOneOf } from "@homarr/common/types";
import type { Database } from "@homarr/db";
import { and, eq, inArray } from "@homarr/db";
import { integrations } from "@homarr/db/schema";
import type { IntegrationKind } from "@homarr/definitions";
+1 -1
View File
@@ -1,7 +1,7 @@
import { TRPCError } from "@trpc/server";
import { and, eq } from "drizzle-orm";
import { z } from "zod/v4";
import { and, eq } from "@homarr/db";
import { items } from "@homarr/db/schema";
import type { WidgetKind } from "@homarr/definitions";
+2 -1
View File
@@ -1,9 +1,10 @@
import { eq } from "drizzle-orm";
import { z } from "zod/v4";
import { createSaltAsync, hashPasswordAsync } from "@homarr/auth";
import { createId } from "@homarr/common";
import { generateSecureRandomToken } from "@homarr/common/server";
import { db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { apiKeys } from "@homarr/db/schema";
import { createTRPCRouter, permissionRequiredProcedure } from "../trpc";
+1 -1
View File
@@ -1,8 +1,8 @@
import { TRPCError } from "@trpc/server";
import { asc, eq, inArray, like } from "drizzle-orm";
import { z } from "zod/v4";
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";
@@ -1,7 +1,8 @@
import { eq, or } from "drizzle-orm";
import SuperJSON from "superjson";
import type { Session } from "@homarr/auth";
import { db, eq, or } from "@homarr/db";
import { db } from "@homarr/db";
import { items } from "@homarr/db/schema";
import type { WidgetComponentProps } from "../../../../widgets/src";
+4 -2
View File
@@ -1,12 +1,14 @@
import { TRPCError } from "@trpc/server";
import type { InferInsertModel, InferSelectModel, SQL } from "drizzle-orm";
import { and, asc, eq, inArray, isNull, like, not, or, sql } from "drizzle-orm";
import superjson from "superjson";
import { z } from "zod/v4";
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, eq, handleTransactionsAsync, inArray, isNull, like, not, or, sql } from "@homarr/db";
import type { Database } from "@homarr/db";
import { handleTransactionsAsync } from "@homarr/db";
import { createDbInsertCollectionWithoutTransaction } from "@homarr/db/collection";
import { getServerSettingByKeyAsync } from "@homarr/db/queries";
import {
@@ -1,9 +1,10 @@
import { TRPCError } from "@trpc/server";
import type { SQL } from "drizzle-orm";
import { eq, inArray } from "drizzle-orm";
import type { Session } from "@homarr/auth";
import { constructBoardPermissions } from "@homarr/auth/shared";
import type { Database, SQL } from "@homarr/db";
import { eq, inArray } from "@homarr/db";
import type { Database } from "@homarr/db";
import { boardGroupPermissions, boardUserPermissions, groupMembers } from "@homarr/db/schema";
import type { BoardPermission } from "@homarr/definitions";
@@ -1,5 +1,6 @@
import { X509Certificate } from "node:crypto";
import { TRPCError } from "@trpc/server";
import { and, eq } from "drizzle-orm";
import { zfd } from "zod-form-data";
import { z } from "zod/v4";
@@ -8,7 +9,6 @@ import {
removeCustomRootCertificateAsync,
} from "@homarr/core/infrastructure/certificates";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { and, eq } from "@homarr/db";
import { trustedCertificateHostnames } from "@homarr/db/schema";
import { certificateValidFileNameSchema, checkCertificateFile } from "@homarr/validation/certificates";
+2 -1
View File
@@ -1,9 +1,10 @@
import { TRPCError } from "@trpc/server";
import { and, eq, like, not } from "drizzle-orm";
import { z } from "zod/v4";
import { createId } from "@homarr/common";
import type { Database } from "@homarr/db";
import { and, eq, handleTransactionsAsync, like, not } from "@homarr/db";
import { handleTransactionsAsync } from "@homarr/db";
import { getMaxGroupPositionAsync } from "@homarr/db/queries";
import { groupMembers, groupPermissions, groups } from "@homarr/db/schema";
import { everyoneGroup } from "@homarr/definitions";
+3 -1
View File
@@ -1,5 +1,7 @@
import { eq, inArray, or } from "drizzle-orm";
import { isProviderEnabled } from "@homarr/auth/server";
import { db, eq, inArray, or } from "@homarr/db";
import { db } from "@homarr/db";
import {
apps,
boards,
+2 -1
View File
@@ -1,4 +1,5 @@
import { and, like } from "@homarr/db";
import { and, like } from "drizzle-orm";
import { icons } from "@homarr/db/schema";
import { iconsFindSchema } from "@homarr/validation/icons";
@@ -1,9 +1,10 @@
import { TRPCError } from "@trpc/server";
import type { SQL } from "drizzle-orm";
import { eq, inArray } from "drizzle-orm";
import type { Session } from "@homarr/auth";
import { constructIntegrationPermissions } from "@homarr/auth/shared";
import type { Database, SQL } from "@homarr/db";
import { eq, inArray } from "@homarr/db";
import type { Database } from "@homarr/db";
import { groupMembers, integrationGroupPermissions, integrationUserPermissions } from "@homarr/db/schema";
import type { IntegrationPermission } from "@homarr/definitions";
@@ -1,11 +1,12 @@
import { TRPCError } from "@trpc/server";
import { and, asc, eq, inArray, like, or } from "drizzle-orm";
import { z } from "zod/v4";
import { createId, objectEntries } from "@homarr/common";
import { decryptSecret, encryptSecret } from "@homarr/common/server";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { handleTransactionsAsync } from "@homarr/db";
import type { Database } from "@homarr/db";
import { and, asc, eq, handleTransactionsAsync, inArray, like, or } from "@homarr/db";
import {
apps,
groupMembers,
+1 -1
View File
@@ -1,9 +1,9 @@
import { randomBytes } from "crypto";
import { TRPCError } from "@trpc/server";
import { asc, eq } from "drizzle-orm";
import { z } from "zod/v4";
import { createId } from "@homarr/common";
import { asc, eq } from "@homarr/db";
import { invites } from "@homarr/db/schema";
import { selectInviteSchema } from "@homarr/db/validationSchemas";
@@ -1,9 +1,9 @@
import { TRPCError } from "@trpc/server";
import type { InferInsertModel } from "drizzle-orm";
import { and, desc, eq, like } from "drizzle-orm";
import { z } from "zod/v4";
import { createId } from "@homarr/common";
import type { InferInsertModel } 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";
@@ -1,8 +1,9 @@
import { eq } from "drizzle-orm";
import { isProviderEnabled } from "@homarr/auth/server";
import { objectEntries } from "@homarr/common";
import type { MaybePromise } from "@homarr/common/types";
import type { Database } from "@homarr/db";
import { eq } from "@homarr/db";
import { groups, onboarding } from "@homarr/db/schema";
import type { OnboardingStep } from "@homarr/definitions";
import { credentialsAdminGroup } from "@homarr/definitions";
@@ -1,9 +1,9 @@
import { TRPCError } from "@trpc/server";
import { asc, eq, like } from "drizzle-orm";
import { z } from "zod/v4";
import { createId } from "@homarr/common";
import { createLogger } from "@homarr/core/infrastructure/logs";
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";
@@ -1,7 +1,7 @@
import { TRPCError } from "@trpc/server";
import { and, eq } from "drizzle-orm";
import { z } from "zod/v4";
import { and, eq } from "@homarr/db";
import { sectionCollapseStates, sections } from "@homarr/db/schema";
import { createTRPCRouter, protectedProcedure } from "../../trpc";
+3 -2
View File
@@ -1,10 +1,11 @@
import type { InferInsertModel } from "drizzle-orm";
import { and, eq, not } from "drizzle-orm";
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, eq, not } from "@homarr/db";
import type { Database } from "@homarr/db";
import {
boardGroupPermissions,
boards,
@@ -1,8 +1,8 @@
import { eq } from "drizzle-orm";
import { describe, expect, test, vi } from "vitest";
import * as authShared from "@homarr/auth/shared";
import { createId } from "@homarr/common";
import { eq } from "@homarr/db";
import { boards, users } from "@homarr/db/schema";
import { createDb } from "@homarr/db/test";
+1 -1
View File
@@ -1,9 +1,9 @@
import { eq } from "drizzle-orm";
import { describe, expect, test, vi } from "vitest";
import type { Session } from "@homarr/auth";
import * as env from "@homarr/auth/env";
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";
@@ -1,8 +1,8 @@
import { eq } from "drizzle-orm";
import { describe, expect, test, vi } from "vitest";
import * as authShared from "@homarr/auth/shared";
import { createId } from "@homarr/common";
import { eq } from "@homarr/db";
import { integrations, users } from "@homarr/db/schema";
import { createDb } from "@homarr/db/test";
+1 -1
View File
@@ -1,9 +1,9 @@
import { eq } from "drizzle-orm";
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 { 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";
+1 -1
View File
@@ -1,11 +1,11 @@
import { TRPCError } from "@trpc/server";
import { and, eq, like } from "drizzle-orm";
import { z } from "zod/v4";
import { createSaltAsync, hashPasswordAsync } from "@homarr/auth";
import { createId } from "@homarr/common";
import { createLogger } from "@homarr/core/infrastructure/logs";
import type { Database } 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";
@@ -1,9 +1,9 @@
import { TRPCError } from "@trpc/server";
import { eq } from "drizzle-orm";
import { z } from "zod/v4";
import type { Session } from "@homarr/auth";
import type { Modify } from "@homarr/common/types";
import { eq } from "@homarr/db";
import type { Database } from "@homarr/db";
import { users } from "@homarr/db/schema";
import { userChangeSearchPreferencesSchema } from "@homarr/validation/user";
+1 -1
View File
@@ -1,8 +1,8 @@
import { TRPCError } from "@trpc/server";
import { eq } from "drizzle-orm";
import SuperJSON from "superjson";
import { z } from "zod/v4";
import { eq } from "@homarr/db";
import { boards, items } from "@homarr/db/schema";
import { createTRPCRouter, protectedProcedure } from "../../trpc";
+1 -1
View File
@@ -1,8 +1,8 @@
import type { Adapter } from "@auth/core/adapters";
import { DrizzleAdapter } from "@auth/drizzle-adapter";
import { and, eq } from "drizzle-orm";
import type { Database } from "@homarr/db";
import { and, eq } from "@homarr/db";
import { accounts, sessions, users } from "@homarr/db/schema";
import type { SupportedAuthProvider } from "@homarr/definitions";
+1 -1
View File
@@ -1,9 +1,9 @@
import dayjs from "dayjs";
import { eq, inArray } from "drizzle-orm";
import type { NextAuthConfig } from "next-auth";
import type { Session } from "@homarr/auth";
import type { Database } from "@homarr/db";
import { eq, inArray } from "@homarr/db";
import { groupMembers, groupPermissions, users } from "@homarr/db/schema";
import { getPermissionsWithChildren } from "@homarr/definitions";
+1 -1
View File
@@ -1,9 +1,9 @@
import { cookies } from "next/headers";
import dayjs from "dayjs";
import { and, eq, inArray } from "drizzle-orm";
import type { NextAuthConfig } from "next-auth";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { and, eq, inArray } from "@homarr/db";
import type { Database } from "@homarr/db";
import { groupMembers, groups, users } from "@homarr/db/schema";
import { colorSchemeCookieKey, everyoneGroup } from "@homarr/definitions";
+1
View File
@@ -32,6 +32,7 @@
"@homarr/validation": "workspace:^0.1.0",
"bcrypt": "^6.0.0",
"cookies": "^0.9.1",
"drizzle-orm": "^0.45.1",
"ldapts": "8.0.24",
"next": "16.0.10",
"next-auth": "5.0.0-beta.30",
@@ -1,7 +1,7 @@
import { and, eq, inArray, or } from "drizzle-orm";
import type { Session } from "next-auth";
import type { Database } from "@homarr/db";
import { and, eq, inArray, or } from "@homarr/db";
import { boards, boardUserPermissions, groupMembers } from "@homarr/db/schema";
import type { IntegrationPermission } from "@homarr/definitions";
@@ -1,6 +1,7 @@
import { eq, inArray } from "drizzle-orm";
import type { Session } from "next-auth";
import { db, eq, inArray } from "@homarr/db";
import { db } from "@homarr/db";
import { groupMembers, integrationGroupPermissions, integrationUserPermissions } from "@homarr/db/schema";
import { constructIntegrationPermissions } from "./integration-permissions";
@@ -1,8 +1,8 @@
import type { InferInsertModel } from "drizzle-orm";
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 { boardGroupPermissions, boards, boardUserPermissions, groupMembers, groups, users } from "@homarr/db/schema";
import { createDb } from "@homarr/db/test";
@@ -1,9 +1,9 @@
import bcrypt from "bcrypt";
import { and, eq } from "drizzle-orm";
import type { z } from "zod/v4";
import { createLogger } from "@homarr/core/infrastructure/logs";
import type { Database } from "@homarr/db";
import { and, eq } from "@homarr/db";
import { users } from "@homarr/db/schema";
import type { userSignInSchema } from "@homarr/validation/user";
@@ -1,10 +1,11 @@
import { CredentialsSignin } from "@auth/core/errors";
import { and, eq } from "drizzle-orm";
import type { InferInsertModel } from "drizzle-orm";
import { z } from "zod/v4";
import { createId } from "@homarr/common";
import { createLogger } from "@homarr/core/infrastructure/logs";
import type { Database, InferInsertModel } from "@homarr/db";
import { and, eq } from "@homarr/db";
import type { Database } from "@homarr/db";
import { users } from "@homarr/db/schema";
import type { ldapSignInSchema } from "@homarr/validation/user";
@@ -1,9 +1,9 @@
import { CredentialsSignin } from "@auth/core/errors";
import { and, eq } from "drizzle-orm";
import { describe, expect, test, vi } from "vitest";
import { createId } from "@homarr/common";
import type { Database } from "@homarr/db";
import { and, eq } from "@homarr/db";
import { groups, users } from "@homarr/db/schema";
import { createDb } from "@homarr/db/test";
+1 -1
View File
@@ -1,9 +1,9 @@
import type { ResponseCookie } from "next/dist/compiled/@edge-runtime/cookies";
import type { ReadonlyRequestCookies } from "next/dist/server/web/spec-extension/adapters/request-cookies";
import { cookies } from "next/headers";
import { eq } from "drizzle-orm";
import { describe, expect, test, vi } from "vitest";
import { eq } from "@homarr/db";
import type { Database } from "@homarr/db";
import { groupMembers, groups, users } from "@homarr/db/schema";
import { createDb } from "@homarr/db/test";
+2 -1
View File
@@ -28,7 +28,8 @@
"@homarr/common": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"dotenv": "^17.2.3"
"dotenv": "^17.2.3",
"drizzle-orm": "^0.45.1"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
+2 -1
View File
@@ -1,6 +1,7 @@
import { command } from "@drizzle-team/brocli";
import { eq } from "drizzle-orm";
import { db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { users } from "@homarr/db/schema";
export const fixUsernames = command({
+2 -1
View File
@@ -1,9 +1,10 @@
import { command, string } from "@drizzle-team/brocli";
import { and, count, eq } from "drizzle-orm";
import { createSaltAsync, hashPasswordAsync } from "@homarr/auth";
import { createId } from "@homarr/common";
import { generateSecureRandomToken } from "@homarr/common/server";
import { and, count, db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { getMaxGroupPositionAsync } from "@homarr/db/queries";
import { groupMembers, groupPermissions, groups, users } from "@homarr/db/schema";
import { usernameSchema } from "@homarr/validation/user";
+2 -1
View File
@@ -1,8 +1,9 @@
import { command, string } from "@drizzle-team/brocli";
import { and, eq } from "drizzle-orm";
import { hashPasswordAsync } from "@homarr/auth";
import { generateSecureRandomToken } from "@homarr/common/server";
import { and, db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { sessions, users } from "@homarr/db/schema";
export const resetPassword = command({
+1
View File
@@ -38,6 +38,7 @@
"@homarr/server-settings": "workspace:^0.1.0",
"@homarr/translation": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"drizzle-orm": "^0.45.1",
"semver-parser": "^4.1.8"
},
"devDependencies": {
+2 -1
View File
@@ -1,9 +1,10 @@
import { eq } from "drizzle-orm";
import SuperJSON from "superjson";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error";
import { EVERY_MINUTE } from "@homarr/cron-jobs-core/expressions";
import { db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { items } from "@homarr/db/schema";
import { dockerContainersRequestHandler } from "@homarr/request-handler/docker";
+4 -2
View File
@@ -1,9 +1,11 @@
import type { InferInsertModel } from "drizzle-orm";
import { inArray, sql } from "drizzle-orm";
import { createId, splitToNChunks, Stopwatch } from "@homarr/common";
import { env } from "@homarr/common/env";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { EVERY_WEEK } from "@homarr/cron-jobs-core/expressions";
import type { InferInsertModel } from "@homarr/db";
import { db, handleTransactionsAsync, inArray, sql } from "@homarr/db";
import { db, handleTransactionsAsync } from "@homarr/db";
import { iconRepositories, icons } from "@homarr/db/schema";
import { fetchIconsAsync } from "@homarr/icons";
@@ -1,7 +1,8 @@
import { eq } from "drizzle-orm";
import SuperJSON from "superjson";
import { EVERY_5_MINUTES } from "@homarr/cron-jobs-core/expressions";
import { db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { items } from "@homarr/db/schema";
import { minecraftServerStatusRequestHandler } from "@homarr/request-handler/minecraft-server-status";
+2 -1
View File
@@ -1,9 +1,10 @@
import { eq } from "drizzle-orm";
import SuperJSON from "superjson";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error";
import { EVERY_10_MINUTES } from "@homarr/cron-jobs-core/expressions";
import { db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { items } from "@homarr/db/schema";
// This import is done that way to avoid circular dependencies.
import { rssFeedsRequestHandler } from "@homarr/request-handler/rss-feeds";
+2 -1
View File
@@ -1,9 +1,10 @@
import { eq } from "drizzle-orm";
import SuperJSON from "superjson";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { ErrorWithMetadata } from "@homarr/core/infrastructure/logs/error";
import { EVERY_10_MINUTES } from "@homarr/cron-jobs-core/expressions";
import { db, eq } from "@homarr/db";
import { db } from "@homarr/db";
import { items } from "@homarr/db/schema";
import { weatherRequestHandler } from "@homarr/request-handler/weather";
-1
View File
@@ -2,7 +2,6 @@ import { createDb } from "@homarr/core/infrastructure/db";
import { schema } from "./schema";
export * from "drizzle-orm";
export type { HomarrDatabaseMysql, HomarrDatabasePostgresql } from "./driver";
export const db = createDb(schema);
@@ -1,10 +1,10 @@
import { eq } from "drizzle-orm";
import SuperJSON from "superjson";
import { createId } from "@homarr/common";
import type { IntegrationKind } from "@homarr/definitions";
import { getIntegrationKindsByCategory } from "@homarr/definitions";
import { eq } from "../..";
import type { Database } from "../..";
import { items } from "../../schema";
@@ -1,5 +1,6 @@
import { and, eq } from "drizzle-orm";
import type { Database } from "../..";
import { and, eq } from "../..";
import { integrationSecrets } from "../../schema";
/**
@@ -1,6 +1,6 @@
import { eq } from "drizzle-orm";
import SuperJSON from "superjson";
import { eq } from "../..";
import type { Database } from "../..";
import { items } from "../../schema";
+2 -1
View File
@@ -1,3 +1,5 @@
import { eq } from "drizzle-orm";
import { createId, objectKeys } from "@homarr/common";
import {
createDocumentationLink,
@@ -9,7 +11,6 @@ import {
import { defaultServerSettings, defaultServerSettingsKeys } from "@homarr/server-settings";
import type { Database } from "..";
import { eq } from "..";
import {
getServerSettingByKeyAsync,
insertServerSettingByKeyAsync,
+2 -1
View File
@@ -1,7 +1,8 @@
import { inArray } from "drizzle-orm";
import type { WidgetKind } from "@homarr/definitions";
import type { Database } from "..";
import { inArray } from "..";
import type { inferSupportedIntegrations } from "../../widgets/src";
import { items } from "../schema";
+1 -1
View File
@@ -1,10 +1,10 @@
import { eq } from "drizzle-orm";
import SuperJSON from "superjson";
import type { ServerSettings } from "@homarr/server-settings";
import { defaultServerSettings, defaultServerSettingsKeys } from "@homarr/server-settings";
import type { Database } from "..";
import { eq } from "..";
import { serverSettings } from "../schema";
export const getServerSettingsAsync = async (db: Database) => {
+2 -1
View File
@@ -25,7 +25,8 @@
"dependencies": {
"@homarr/common": "workspace:^0.1.0",
"@homarr/core": "workspace:^0.1.0",
"@homarr/db": "workspace:^0.1.0"
"@homarr/db": "workspace:^0.1.0",
"drizzle-orm": "^0.45.1"
},
"devDependencies": {
"@homarr/eslint-config": "workspace:^0.2.0",
+2 -1
View File
@@ -1,5 +1,6 @@
import { like } from "drizzle-orm";
import type { Database } from "@homarr/db";
import { like } from "@homarr/db";
import { icons } from "@homarr/db/schema";
export const getIconForName = (db: Database, name: string) => {
@@ -1,6 +1,6 @@
import { createHash } from "crypto";
import type { InferSelectModel } from "drizzle-orm";
import type { InferSelectModel } from "@homarr/db";
import { db } from "@homarr/db";
import type { medias } from "@homarr/db/schema";
+1
View File
@@ -40,6 +40,7 @@
"@mantine/core": "^8.3.10",
"@mantine/hooks": "^8.3.10",
"adm-zip": "0.5.16",
"drizzle-orm": "^0.45.1",
"next": "16.0.10",
"react": "19.2.3",
"react-dom": "19.2.3",
@@ -1,4 +1,6 @@
import { handleTransactionsAsync, inArray } from "@homarr/db";
import { inArray } from "drizzle-orm";
import { handleTransactionsAsync } from "@homarr/db";
import type { Database } from "@homarr/db";
import { apps } from "@homarr/db/schema";
import type { OldmarrConfig } from "@homarr/old-schema";
+2 -1
View File
@@ -1,4 +1,5 @@
import type { InferSelectModel } from "@homarr/db";
import type { InferSelectModel } from "drizzle-orm";
import type { apps } from "@homarr/db/schema";
import type { OldmarrApp } from "@homarr/old-schema";
+2 -1
View File
@@ -1,5 +1,6 @@
import type { InferInsertModel } from "drizzle-orm";
import { createId } from "@homarr/common";
import type { InferInsertModel } from "@homarr/db";
import type { boards } from "@homarr/db/schema";
import type { prepareMultipleImports } from "../prepare/prepare-multiple";
+1 -1
View File
@@ -1,8 +1,8 @@
import type { InferInsertModel } from "drizzle-orm";
import SuperJSON from "superjson";
import { createId } from "@homarr/common";
import { createLogger } from "@homarr/core/infrastructure/logs";
import type { InferInsertModel } from "@homarr/db";
import type { itemLayouts, items } from "@homarr/db/schema";
import type { BoardSize, OldmarrApp, OldmarrWidget } from "@homarr/old-schema";
import { boardSizes } from "@homarr/old-schema";
@@ -1,5 +1,6 @@
import type { InferInsertModel } from "drizzle-orm";
import { createId } from "@homarr/common";
import type { InferInsertModel } from "@homarr/db";
import type { sections } from "@homarr/db/schema";
import type { OldmarrCategorySection, OldmarrEmptySection } from "@homarr/old-schema";
+2 -1
View File
@@ -1,6 +1,7 @@
import type { InferInsertModel } from "drizzle-orm";
import { createId } from "@homarr/common";
import { decryptSecretWithKey } from "@homarr/common/server";
import type { InferInsertModel } from "@homarr/db";
import type { users } from "@homarr/db/schema";
import type { OldmarrImportUser } from "../user-schema";
@@ -1,4 +1,5 @@
import type { InferSelectModel } from "@homarr/db";
import type { InferSelectModel } from "drizzle-orm";
import type { apps } from "@homarr/db/schema";
import type { OldmarrConfig } from "@homarr/old-schema";
+1
View File
@@ -31,6 +31,7 @@
"@homarr/integrations": "workspace:^0.1.0",
"@homarr/redis": "workspace:^0.1.0",
"dayjs": "^1.11.19",
"drizzle-orm": "^0.45.1",
"octokit": "^5.0.5",
"superjson": "2.2.6",
"undici": "7.16.0",
+2 -1
View File
@@ -1,7 +1,8 @@
import dayjs from "dayjs";
import type { ContainerInfo, ContainerStats } from "dockerode";
import { like, or } from "drizzle-orm";
import { db, like, or } from "@homarr/db";
import { db } from "@homarr/db";
import { icons } from "@homarr/db/schema";
import type { ContainerState } from "@homarr/docker";
import { dockerLabels, DockerSingleton } from "@homarr/docker";
+1
View File
@@ -70,6 +70,7 @@
"@tiptap/starter-kit": "^3.13.0",
"clsx": "^2.1.1",
"dayjs": "^1.11.19",
"drizzle-orm": "^0.45.1",
"mantine-form-zod-resolver": "^1.3.0",
"mantine-react-table": "2.0.0-beta.9",
"next": "16.0.10",
+3 -1
View File
@@ -1,6 +1,8 @@
import { inArray } from "drizzle-orm";
import { trpc } from "@homarr/api/server";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { db, inArray } from "@homarr/db";
import { db } from "@homarr/db";
import { apps } from "@homarr/db/schema";
import type { Prefetch } from "../definition";
+3 -1
View File
@@ -1,6 +1,8 @@
import { inArray } from "drizzle-orm";
import { trpc } from "@homarr/api/server";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { db, inArray } from "@homarr/db";
import { db } from "@homarr/db";
import { apps } from "@homarr/db/schema";
import type { Prefetch } from "../definition";
+33
View File
@@ -277,6 +277,9 @@ importers:
dotenv:
specifier: ^17.2.3
version: 17.2.3
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
flag-icons:
specifier: ^7.5.0
version: 7.5.0
@@ -431,6 +434,9 @@ importers:
dotenv:
specifier: ^17.2.3
version: 17.2.3
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
fastify:
specifier: ^5.6.2
version: 5.6.2
@@ -547,6 +553,9 @@ importers:
'@umami/node':
specifier: ^0.4.0
version: 0.4.0
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
superjson:
specifier: 2.2.6
version: 2.2.6
@@ -644,6 +653,9 @@ importers:
'@trpc/tanstack-react-query':
specifier: ^11.8.0
version: 11.8.0(@tanstack/react-query@5.90.12(react@19.2.3))(@trpc/client@11.8.0(@trpc/server@11.8.0(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.8.0(typescript@5.9.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
lodash.clonedeep:
specifier: ^4.5.0
version: 4.5.0
@@ -714,6 +726,9 @@ importers:
cookies:
specifier: ^0.9.1
version: 0.9.1
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
ldapts:
specifier: 8.0.24
version: 8.0.24
@@ -806,6 +821,9 @@ importers:
dotenv:
specifier: ^17.2.3
version: 17.2.3
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1057,6 +1075,9 @@ importers:
'@homarr/validation':
specifier: workspace:^0.1.0
version: link:../validation
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
semver-parser:
specifier: ^4.1.8
version: 4.1.8
@@ -1361,6 +1382,9 @@ importers:
'@homarr/db':
specifier: workspace:^0.1.0
version: link:../db
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1688,6 +1712,9 @@ importers:
adm-zip:
specifier: 0.5.16
version: 0.5.16
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
next:
specifier: 16.0.10
version: 16.0.10(@babel/core@7.28.5)(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.96.0)
@@ -1842,6 +1869,9 @@ importers:
dayjs:
specifier: ^1.11.19
version: 1.11.19
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
octokit:
specifier: ^5.0.5
version: 5.0.5
@@ -2287,6 +2317,9 @@ importers:
dayjs:
specifier: ^1.11.19
version: 1.11.19
drizzle-orm:
specifier: ^0.45.1
version: 0.45.1(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.5.0)(gel@2.0.0)(mysql2@3.15.3)(pg@8.16.3)
mantine-form-zod-resolver:
specifier: ^1.3.0
version: 1.3.0(@mantine/form@8.3.10(react@19.2.3))(zod@4.2.1)