From 4082680099f31e4a07b3daeccafe1155f23c27ea Mon Sep 17 00:00:00 2001 From: Sasha <64744993+r1tsuu@users.noreply.github.com> Date: Thu, 17 Oct 2024 23:35:05 +0300 Subject: [PATCH] fix(drizzle): expose db.drizzle.$client type --- packages/db-postgres/src/types.ts | 4 +++- packages/db-sqlite/src/connect.ts | 1 - packages/db-sqlite/src/types.ts | 4 +++- packages/db-vercel-postgres/src/types.ts | 7 ++++++- packages/drizzle/src/postgres/types.ts | 6 ++++-- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/packages/db-postgres/src/types.ts b/packages/db-postgres/src/types.ts index 53256e25d4..d14b58efb2 100644 --- a/packages/db-postgres/src/types.ts +++ b/packages/db-postgres/src/types.ts @@ -62,7 +62,9 @@ declare module 'payload' { afterSchemaInit: PostgresSchemaHook[] beforeSchemaInit: PostgresSchemaHook[] beginTransaction: (options?: PgTransactionConfig) => Promise - drizzle: PostgresDB + drizzle: { + $client: Pool + } & PostgresDB enums: Record /** * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name diff --git a/packages/db-sqlite/src/connect.ts b/packages/db-sqlite/src/connect.ts index 6662c1dd16..eb33717632 100644 --- a/packages/db-sqlite/src/connect.ts +++ b/packages/db-sqlite/src/connect.ts @@ -1,5 +1,4 @@ import type { DrizzleAdapter } from '@payloadcms/drizzle/types' -import type { LibSQLDatabase } from 'drizzle-orm/libsql' import type { Connect } from 'payload' import { createClient } from '@libsql/client' diff --git a/packages/db-sqlite/src/types.ts b/packages/db-sqlite/src/types.ts index 53e4fe9c22..3d685eb12d 100644 --- a/packages/db-sqlite/src/types.ts +++ b/packages/db-sqlite/src/types.ts @@ -167,7 +167,9 @@ declare module 'payload' { extends Omit, DrizzleAdapter { beginTransaction: (options?: SQLiteTransactionConfig) => Promise - drizzle: LibSQLDatabase + drizzle: { $client: Client } & LibSQLDatabase< + Record & Record + > /** * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name * Used for returning properly formed errors from unique fields diff --git a/packages/db-vercel-postgres/src/types.ts b/packages/db-vercel-postgres/src/types.ts index 35d022ac0f..571f5bd314 100644 --- a/packages/db-vercel-postgres/src/types.ts +++ b/packages/db-vercel-postgres/src/types.ts @@ -56,6 +56,9 @@ export type Args = { } export type VercelPostgresAdapter = { + drizzle: { + $client: VercelPool + } & PostgresDB pool?: VercelPool poolOptions?: Args['pool'] } & BasePostgresAdapter @@ -67,7 +70,9 @@ declare module 'payload' { afterSchemaInit: PostgresSchemaHook[] beforeSchemaInit: PostgresSchemaHook[] beginTransaction: (options?: PgTransactionConfig) => Promise - drizzle: PostgresDB + drizzle: { + $client: VercelPool + } & PostgresDB enums: Record /** * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name diff --git a/packages/drizzle/src/postgres/types.ts b/packages/drizzle/src/postgres/types.ts index bd22caa7ed..6227923744 100644 --- a/packages/drizzle/src/postgres/types.ts +++ b/packages/drizzle/src/postgres/types.ts @@ -21,7 +21,7 @@ import type { } from 'drizzle-orm/pg-core' import type { PgTableFn } from 'drizzle-orm/pg-core/table' import type { Payload, PayloadRequest } from 'payload' -import type { ClientConfig, QueryResult } from 'pg' +import type { ClientConfig, Pool, QueryResult } from 'pg' import type { extendDrizzleTable, Operators } from '../index.js' import type { BuildQueryJoinAliases, DrizzleAdapter, TransactionPg } from '../types.js' @@ -134,7 +134,9 @@ export type BasePostgresAdapter = { defaultDrizzleSnapshot: DrizzleSnapshotJSON deleteWhere: DeleteWhere disableCreateDatabase: boolean - drizzle: PostgresDB + drizzle: { + $client: Pool + } & PostgresDB dropDatabase: DropDatabase enums: Record execute: Execute