@holeauth/adapter-drizzle 0.0.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/pg/index.ts"],"names":["pgTable","text","timestamp","index","uniqueIndex","primaryKey","jsonb","relations","eq","and","sql","like"],"mappings":"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","file":"index.cjs","sourcesContent":["import {\n pgTable,\n text,\n timestamp,\n jsonb,\n index,\n uniqueIndex,\n primaryKey,\n type PgTableWithColumns,\n} from 'drizzle-orm/pg-core';\nimport { relations, eq, and, sql, like } from 'drizzle-orm';\nimport type {\n AdapterUser,\n AdapterSession,\n AdapterAccount,\n AdapterVerificationToken,\n AdapterAuditEvent,\n UserAdapter,\n SessionAdapter,\n AccountAdapter,\n VerificationTokenAdapter,\n AuditLogAdapter,\n TransactionAdapter,\n} from '@holeauth/core/adapters';\n\n// ─────────────────────────────────────────────────────────────────────────\n// Table factory\n// ─────────────────────────────────────────────────────────────────────────\n\n/**\n * Caller's users table contract. Must have a string-compatible `id` column.\n * Pass the actual Drizzle pgTable; we read `.id` for foreign keys.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PgUsersTable = PgTableWithColumns<any> & { id: any };\n\nexport interface CreateHoleauthTablesOptions<U extends PgUsersTable> {\n usersTable: U;\n /** Prefix prepended to every holeauth table name. Default: 'holeauth_'. */\n prefix?: string;\n}\n\nexport function createHoleauthTables<U extends PgUsersTable>(\n opts: CreateHoleauthTablesOptions<U>,\n) {\n const { usersTable, prefix = 'holeauth_' } = opts;\n const p = (s: string) => `${prefix}${s}`;\n\n const sessions = pgTable(\n p('session'),\n {\n id: text('id').primaryKey(),\n userId: text('user_id')\n .notNull()\n .references(() => usersTable.id, { onDelete: 'cascade' }),\n familyId: text('family_id').notNull(),\n refreshTokenHash: text('refresh_token_hash').notNull(),\n expiresAt: timestamp('expires_at', { withTimezone: true, mode: 'date' }).notNull(),\n createdAt: timestamp('created_at', { withTimezone: true, mode: 'date' })\n .notNull()\n .defaultNow(),\n revokedAt: timestamp('revoked_at', { withTimezone: true, mode: 'date' }),\n userAgent: text('user_agent'),\n ip: text('ip'),\n },\n (t) => ({\n familyIdx: index().on(t.familyId),\n hashIdx: uniqueIndex().on(t.refreshTokenHash),\n userIdx: index().on(t.userId),\n }),\n );\n\n const accounts = pgTable(\n p('account'),\n {\n id: text('id').primaryKey(),\n userId: text('user_id')\n .notNull()\n .references(() => usersTable.id, { onDelete: 'cascade' }),\n provider: text('provider').notNull(),\n providerAccountId: text('provider_account_id').notNull(),\n email: text('email'),\n accessToken: text('access_token'),\n refreshToken: text('refresh_token'),\n expiresAt: timestamp('expires_at', { withTimezone: true, mode: 'date' }),\n tokenType: text('token_type'),\n scope: text('scope'),\n idToken: text('id_token'),\n },\n (t) => ({\n providerIdx: uniqueIndex().on(t.provider, t.providerAccountId),\n userIdx: index().on(t.userId),\n }),\n );\n\n const verificationTokens = pgTable(\n p('verification_token'),\n {\n identifier: text('identifier').notNull(),\n token: text('token').notNull(),\n expiresAt: timestamp('expires_at', { withTimezone: true, mode: 'date' }).notNull(),\n },\n (t) => ({\n pk: primaryKey({ columns: [t.identifier, t.token] }),\n }),\n );\n\n const auditLog = pgTable(\n p('audit_log'),\n {\n id: text('id').primaryKey(),\n type: text('type').notNull(),\n userId: text('user_id').references(() => usersTable.id, { onDelete: 'set null' }),\n sessionId: text('session_id'),\n at: timestamp('at', { withTimezone: true, mode: 'date' }).notNull().defaultNow(),\n ip: text('ip'),\n userAgent: text('user_agent'),\n data: jsonb('data'),\n },\n (t) => ({\n typeIdx: index().on(t.type),\n userIdx: index().on(t.userId),\n }),\n );\n\n const sessionsRelations = relations(sessions, ({ one }) => ({\n user: one(usersTable, { fields: [sessions.userId], references: [usersTable.id] }),\n }));\n const accountsRelations = relations(accounts, ({ one }) => ({\n user: one(usersTable, { fields: [accounts.userId], references: [usersTable.id] }),\n }));\n const auditLogRelations = relations(auditLog, ({ one }) => ({\n user: one(usersTable, { fields: [auditLog.userId], references: [usersTable.id] }),\n }));\n\n return {\n tables: { users: usersTable, sessions, accounts, verificationTokens, auditLog },\n relations: { sessionsRelations, accountsRelations, auditLogRelations },\n };\n}\n\n// ─────────────────────────────────────────────────────────────────────────\n// Adapter factory\n// ─────────────────────────────────────────────────────────────────────────\n\ntype HoleauthTables<U extends PgUsersTable> = ReturnType<\n typeof createHoleauthTables<U>\n>['tables'];\n\n// Minimal db interface — compatible with any node-postgres/postgres-js drizzle\n// instance. We intentionally use `any` here because users construct their db\n// with their own schema/types.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PgDb = any;\n\nexport interface CreateHoleauthAdaptersOptions<U extends PgUsersTable> {\n db: PgDb;\n tables: HoleauthTables<U>;\n /** Column on the users table holding the email (default 'email'). */\n userEmailColumn?: string;\n /** Optional id generator. Default: crypto.randomUUID(). */\n generateId?: () => string;\n}\n\nexport interface HoleauthAdapterBundle {\n user: UserAdapter;\n session: SessionAdapter;\n account: AccountAdapter;\n verificationToken: VerificationTokenAdapter;\n auditLog: AuditLogAdapter;\n transaction: TransactionAdapter;\n}\n\nexport function createHoleauthAdapters<U extends PgUsersTable>(\n opts: CreateHoleauthAdaptersOptions<U>,\n): HoleauthAdapterBundle {\n const { db, tables, userEmailColumn = 'email', generateId = () => crypto.randomUUID() } = opts;\n const { users, sessions, accounts, verificationTokens, auditLog } = tables;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const emailCol = (users as any)[userEmailColumn];\n if (!emailCol) {\n throw new Error(\n `[holeauth] usersTable has no \"${userEmailColumn}\" column; pass userEmailColumn to createHoleauthAdapters.`,\n );\n }\n\n const userRowToAdapter = (row: Record<string, unknown>): AdapterUser => ({\n id: String(row.id),\n email: String(row[userEmailColumn] ?? ''),\n emailVerified: (row.emailVerified as Date | null | undefined) ?? null,\n name: (row.name as string | null | undefined) ?? null,\n image: (row.image as string | null | undefined) ?? null,\n passwordHash: (row.passwordHash as string | null | undefined) ?? null,\n });\n\n const user: UserAdapter = {\n async getUserById(id) {\n const rows = await db.select().from(users).where(eq(users.id, id)).limit(1);\n return rows[0] ? userRowToAdapter(rows[0]) : null;\n },\n async getUserByEmail(email) {\n const rows = await db.select().from(users).where(eq(emailCol, email)).limit(1);\n return rows[0] ? userRowToAdapter(rows[0]) : null;\n },\n async createUser(data) {\n const id = generateId();\n const row = {\n id,\n [userEmailColumn]: data.email,\n emailVerified: data.emailVerified ?? null,\n name: data.name ?? null,\n image: data.image ?? null,\n passwordHash: data.passwordHash ?? null,\n };\n const [inserted] = await db.insert(users).values(row).returning();\n return userRowToAdapter(inserted);\n },\n async updateUser(id, patch) {\n const toSet: Record<string, unknown> = { ...patch };\n if ('email' in toSet) {\n toSet[userEmailColumn] = toSet.email;\n if (userEmailColumn !== 'email') delete toSet.email;\n }\n const [updated] = await db\n .update(users)\n .set(toSet)\n .where(eq(users.id, id))\n .returning();\n if (!updated) throw new Error(`User ${id} not found`);\n return userRowToAdapter(updated);\n },\n async deleteUser(id) {\n await db.delete(users).where(eq(users.id, id));\n },\n };\n\n const sessionRowToAdapter = (r: Record<string, unknown>): AdapterSession => ({\n id: String(r.id),\n userId: String(r.userId),\n familyId: String(r.familyId),\n refreshTokenHash: String(r.refreshTokenHash),\n expiresAt: r.expiresAt as Date,\n createdAt: r.createdAt as Date | undefined,\n revokedAt: (r.revokedAt as Date | null | undefined) ?? null,\n userAgent: (r.userAgent as string | null | undefined) ?? null,\n ip: (r.ip as string | null | undefined) ?? null,\n });\n\n const session: SessionAdapter = {\n async createSession(data) {\n const [row] = await db.insert(sessions).values(data).returning();\n return sessionRowToAdapter(row);\n },\n async getSession(id) {\n const rows = await db.select().from(sessions).where(eq(sessions.id, id)).limit(1);\n return rows[0] ? sessionRowToAdapter(rows[0]) : null;\n },\n async getByRefreshHash(hash) {\n const rows = await db\n .select()\n .from(sessions)\n .where(eq(sessions.refreshTokenHash, hash))\n .limit(1);\n return rows[0] ? sessionRowToAdapter(rows[0]) : null;\n },\n async findByFamily(familyId) {\n const rows = await db.select().from(sessions).where(eq(sessions.familyId, familyId));\n return rows.map(sessionRowToAdapter);\n },\n async deleteSession(id) {\n await db.delete(sessions).where(eq(sessions.id, id));\n },\n async rotateRefresh(id, newHash, expiresAt) {\n const [row] = await db\n .update(sessions)\n .set({ refreshTokenHash: newHash, expiresAt })\n .where(eq(sessions.id, id))\n .returning();\n if (!row) throw new Error(`Session ${id} not found`);\n return sessionRowToAdapter(row);\n },\n async revokeFamily(familyId) {\n await db\n .update(sessions)\n .set({ revokedAt: new Date() })\n .where(and(eq(sessions.familyId, familyId), sql`${sessions.revokedAt} IS NULL`));\n },\n async revokeUser(userId) {\n await db\n .update(sessions)\n .set({ revokedAt: new Date() })\n .where(and(eq(sessions.userId, userId), sql`${sessions.revokedAt} IS NULL`));\n },\n };\n\n const accountRowToAdapter = (r: Record<string, unknown>): AdapterAccount => ({\n id: String(r.id),\n userId: String(r.userId),\n provider: String(r.provider),\n providerAccountId: String(r.providerAccountId),\n email: (r.email as string | null | undefined) ?? null,\n accessToken: (r.accessToken as string | null | undefined) ?? null,\n refreshToken: (r.refreshToken as string | null | undefined) ?? null,\n expiresAt: (r.expiresAt as Date | null | undefined) ?? null,\n tokenType: (r.tokenType as string | null | undefined) ?? null,\n scope: (r.scope as string | null | undefined) ?? null,\n idToken: (r.idToken as string | null | undefined) ?? null,\n });\n\n const account: AccountAdapter = {\n async linkAccount(data) {\n const [row] = await db.insert(accounts).values({ id: generateId(), ...data }).returning();\n return accountRowToAdapter(row);\n },\n async getAccountByProvider(provider, providerAccountId) {\n const rows = await db\n .select()\n .from(accounts)\n .where(\n and(eq(accounts.provider, provider), eq(accounts.providerAccountId, providerAccountId)),\n )\n .limit(1);\n return rows[0] ? accountRowToAdapter(rows[0]) : null;\n },\n async getByProviderEmail(provider, email) {\n const rows = await db\n .select()\n .from(accounts)\n .where(and(eq(accounts.provider, provider), eq(accounts.email, email)))\n .limit(1);\n return rows[0] ? accountRowToAdapter(rows[0]) : null;\n },\n async listByUser(userId) {\n const rows = await db.select().from(accounts).where(eq(accounts.userId, userId));\n return rows.map(accountRowToAdapter);\n },\n async unlinkAccount(id) {\n await db.delete(accounts).where(eq(accounts.id, id));\n },\n };\n\n const vtRowToAdapter = (r: Record<string, unknown>): AdapterVerificationToken => ({\n identifier: String(r.identifier),\n token: String(r.token),\n expiresAt: r.expiresAt as Date,\n });\n\n const verificationToken: VerificationTokenAdapter = {\n async create(data) {\n const [row] = await db.insert(verificationTokens).values(data).returning();\n return vtRowToAdapter(row);\n },\n async consume(identifier, token) {\n const [row] = await db\n .delete(verificationTokens)\n .where(\n and(eq(verificationTokens.identifier, identifier), eq(verificationTokens.token, token)),\n )\n .returning();\n if (!row) return null;\n const rec = vtRowToAdapter(row);\n return rec.expiresAt.getTime() < Date.now() ? null : rec;\n },\n async purgeExpired() {\n const res = await db\n .delete(verificationTokens)\n .where(sql`${verificationTokens.expiresAt} < now()`)\n .returning({ identifier: verificationTokens.identifier });\n return res.length;\n },\n async listByIdentifierPrefix(prefix: string) {\n const esc = prefix.replace(/[\\\\%_]/g, (c) => `\\\\${c}`);\n const rows = await db\n .select()\n .from(verificationTokens)\n .where(like(verificationTokens.identifier, `${esc}%`));\n return rows.map(vtRowToAdapter);\n },\n async deleteByIdentifier(identifier: string) {\n const res = await db\n .delete(verificationTokens)\n .where(eq(verificationTokens.identifier, identifier))\n .returning({ identifier: verificationTokens.identifier });\n return res.length;\n },\n };\n\n const auditRowToAdapter = (r: Record<string, unknown>): AdapterAuditEvent => ({\n id: String(r.id),\n type: String(r.type),\n userId: (r.userId as string | null | undefined) ?? null,\n sessionId: (r.sessionId as string | null | undefined) ?? null,\n at: r.at as Date | undefined,\n ip: (r.ip as string | null | undefined) ?? null,\n userAgent: (r.userAgent as string | null | undefined) ?? null,\n data: (r.data as Record<string, unknown> | null | undefined) ?? null,\n });\n\n const auditLogAdapter: AuditLogAdapter = {\n async record(event) {\n await db.insert(auditLog).values({ id: event.id ?? generateId(), ...event });\n },\n async list(filter) {\n // Build conditions safely without chaining 'where'.\n const conds = [];\n if (filter.userId) conds.push(eq(auditLog.userId, filter.userId));\n if (filter.type) conds.push(eq(auditLog.type, filter.type));\n const q = db.select().from(auditLog);\n const rows = conds.length\n ? await q.where(and(...conds)).limit(filter.limit ?? 100)\n : await q.limit(filter.limit ?? 100);\n return rows.map(auditRowToAdapter);\n },\n };\n\n const transaction: TransactionAdapter = {\n async run(fn) {\n return db.transaction(async () => fn());\n },\n };\n\n return { user, session, account, verificationToken, auditLog: auditLogAdapter, transaction };\n}\n"]}
@@ -0,0 +1,609 @@
1
+ import * as drizzle_orm from 'drizzle-orm';
2
+ import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
3
+ import { PgTableWithColumns } from 'drizzle-orm/pg-core';
4
+ import { UserAdapter, SessionAdapter, AccountAdapter, VerificationTokenAdapter, AuditLogAdapter, TransactionAdapter } from '@holeauth/core/adapters';
5
+
6
+ /**
7
+ * Caller's users table contract. Must have a string-compatible `id` column.
8
+ * Pass the actual Drizzle pgTable; we read `.id` for foreign keys.
9
+ */
10
+ type PgUsersTable = PgTableWithColumns<any> & {
11
+ id: any;
12
+ };
13
+ interface CreateHoleauthTablesOptions<U extends PgUsersTable> {
14
+ usersTable: U;
15
+ /** Prefix prepended to every holeauth table name. Default: 'holeauth_'. */
16
+ prefix?: string;
17
+ }
18
+ declare function createHoleauthTables<U extends PgUsersTable>(opts: CreateHoleauthTablesOptions<U>): {
19
+ tables: {
20
+ users: U;
21
+ sessions: PgTableWithColumns<{
22
+ name: string;
23
+ schema: undefined;
24
+ columns: {
25
+ id: drizzle_orm_pg_core.PgColumn<{
26
+ name: "id";
27
+ tableName: string;
28
+ dataType: "string";
29
+ columnType: "PgText";
30
+ data: string;
31
+ driverParam: string;
32
+ notNull: true;
33
+ hasDefault: false;
34
+ isPrimaryKey: true;
35
+ isAutoincrement: false;
36
+ hasRuntimeDefault: false;
37
+ enumValues: [string, ...string[]];
38
+ baseColumn: never;
39
+ identity: undefined;
40
+ generated: undefined;
41
+ }, {}, {}>;
42
+ userId: drizzle_orm_pg_core.PgColumn<{
43
+ name: "user_id";
44
+ tableName: string;
45
+ dataType: "string";
46
+ columnType: "PgText";
47
+ data: string;
48
+ driverParam: string;
49
+ notNull: true;
50
+ hasDefault: false;
51
+ isPrimaryKey: false;
52
+ isAutoincrement: false;
53
+ hasRuntimeDefault: false;
54
+ enumValues: [string, ...string[]];
55
+ baseColumn: never;
56
+ identity: undefined;
57
+ generated: undefined;
58
+ }, {}, {}>;
59
+ familyId: drizzle_orm_pg_core.PgColumn<{
60
+ name: "family_id";
61
+ tableName: string;
62
+ dataType: "string";
63
+ columnType: "PgText";
64
+ data: string;
65
+ driverParam: string;
66
+ notNull: true;
67
+ hasDefault: false;
68
+ isPrimaryKey: false;
69
+ isAutoincrement: false;
70
+ hasRuntimeDefault: false;
71
+ enumValues: [string, ...string[]];
72
+ baseColumn: never;
73
+ identity: undefined;
74
+ generated: undefined;
75
+ }, {}, {}>;
76
+ refreshTokenHash: drizzle_orm_pg_core.PgColumn<{
77
+ name: "refresh_token_hash";
78
+ tableName: string;
79
+ dataType: "string";
80
+ columnType: "PgText";
81
+ data: string;
82
+ driverParam: string;
83
+ notNull: true;
84
+ hasDefault: false;
85
+ isPrimaryKey: false;
86
+ isAutoincrement: false;
87
+ hasRuntimeDefault: false;
88
+ enumValues: [string, ...string[]];
89
+ baseColumn: never;
90
+ identity: undefined;
91
+ generated: undefined;
92
+ }, {}, {}>;
93
+ expiresAt: drizzle_orm_pg_core.PgColumn<{
94
+ name: "expires_at";
95
+ tableName: string;
96
+ dataType: "date";
97
+ columnType: "PgTimestamp";
98
+ data: Date;
99
+ driverParam: string;
100
+ notNull: true;
101
+ hasDefault: false;
102
+ isPrimaryKey: false;
103
+ isAutoincrement: false;
104
+ hasRuntimeDefault: false;
105
+ enumValues: undefined;
106
+ baseColumn: never;
107
+ identity: undefined;
108
+ generated: undefined;
109
+ }, {}, {}>;
110
+ createdAt: drizzle_orm_pg_core.PgColumn<{
111
+ name: "created_at";
112
+ tableName: string;
113
+ dataType: "date";
114
+ columnType: "PgTimestamp";
115
+ data: Date;
116
+ driverParam: string;
117
+ notNull: true;
118
+ hasDefault: true;
119
+ isPrimaryKey: false;
120
+ isAutoincrement: false;
121
+ hasRuntimeDefault: false;
122
+ enumValues: undefined;
123
+ baseColumn: never;
124
+ identity: undefined;
125
+ generated: undefined;
126
+ }, {}, {}>;
127
+ revokedAt: drizzle_orm_pg_core.PgColumn<{
128
+ name: "revoked_at";
129
+ tableName: string;
130
+ dataType: "date";
131
+ columnType: "PgTimestamp";
132
+ data: Date;
133
+ driverParam: string;
134
+ notNull: false;
135
+ hasDefault: false;
136
+ isPrimaryKey: false;
137
+ isAutoincrement: false;
138
+ hasRuntimeDefault: false;
139
+ enumValues: undefined;
140
+ baseColumn: never;
141
+ identity: undefined;
142
+ generated: undefined;
143
+ }, {}, {}>;
144
+ userAgent: drizzle_orm_pg_core.PgColumn<{
145
+ name: "user_agent";
146
+ tableName: string;
147
+ dataType: "string";
148
+ columnType: "PgText";
149
+ data: string;
150
+ driverParam: string;
151
+ notNull: false;
152
+ hasDefault: false;
153
+ isPrimaryKey: false;
154
+ isAutoincrement: false;
155
+ hasRuntimeDefault: false;
156
+ enumValues: [string, ...string[]];
157
+ baseColumn: never;
158
+ identity: undefined;
159
+ generated: undefined;
160
+ }, {}, {}>;
161
+ ip: drizzle_orm_pg_core.PgColumn<{
162
+ name: "ip";
163
+ tableName: string;
164
+ dataType: "string";
165
+ columnType: "PgText";
166
+ data: string;
167
+ driverParam: string;
168
+ notNull: false;
169
+ hasDefault: false;
170
+ isPrimaryKey: false;
171
+ isAutoincrement: false;
172
+ hasRuntimeDefault: false;
173
+ enumValues: [string, ...string[]];
174
+ baseColumn: never;
175
+ identity: undefined;
176
+ generated: undefined;
177
+ }, {}, {}>;
178
+ };
179
+ dialect: "pg";
180
+ }>;
181
+ accounts: PgTableWithColumns<{
182
+ name: string;
183
+ schema: undefined;
184
+ columns: {
185
+ id: drizzle_orm_pg_core.PgColumn<{
186
+ name: "id";
187
+ tableName: string;
188
+ dataType: "string";
189
+ columnType: "PgText";
190
+ data: string;
191
+ driverParam: string;
192
+ notNull: true;
193
+ hasDefault: false;
194
+ isPrimaryKey: true;
195
+ isAutoincrement: false;
196
+ hasRuntimeDefault: false;
197
+ enumValues: [string, ...string[]];
198
+ baseColumn: never;
199
+ identity: undefined;
200
+ generated: undefined;
201
+ }, {}, {}>;
202
+ userId: drizzle_orm_pg_core.PgColumn<{
203
+ name: "user_id";
204
+ tableName: string;
205
+ dataType: "string";
206
+ columnType: "PgText";
207
+ data: string;
208
+ driverParam: string;
209
+ notNull: true;
210
+ hasDefault: false;
211
+ isPrimaryKey: false;
212
+ isAutoincrement: false;
213
+ hasRuntimeDefault: false;
214
+ enumValues: [string, ...string[]];
215
+ baseColumn: never;
216
+ identity: undefined;
217
+ generated: undefined;
218
+ }, {}, {}>;
219
+ provider: drizzle_orm_pg_core.PgColumn<{
220
+ name: "provider";
221
+ tableName: string;
222
+ dataType: "string";
223
+ columnType: "PgText";
224
+ data: string;
225
+ driverParam: string;
226
+ notNull: true;
227
+ hasDefault: false;
228
+ isPrimaryKey: false;
229
+ isAutoincrement: false;
230
+ hasRuntimeDefault: false;
231
+ enumValues: [string, ...string[]];
232
+ baseColumn: never;
233
+ identity: undefined;
234
+ generated: undefined;
235
+ }, {}, {}>;
236
+ providerAccountId: drizzle_orm_pg_core.PgColumn<{
237
+ name: "provider_account_id";
238
+ tableName: string;
239
+ dataType: "string";
240
+ columnType: "PgText";
241
+ data: string;
242
+ driverParam: string;
243
+ notNull: true;
244
+ hasDefault: false;
245
+ isPrimaryKey: false;
246
+ isAutoincrement: false;
247
+ hasRuntimeDefault: false;
248
+ enumValues: [string, ...string[]];
249
+ baseColumn: never;
250
+ identity: undefined;
251
+ generated: undefined;
252
+ }, {}, {}>;
253
+ email: drizzle_orm_pg_core.PgColumn<{
254
+ name: "email";
255
+ tableName: string;
256
+ dataType: "string";
257
+ columnType: "PgText";
258
+ data: string;
259
+ driverParam: string;
260
+ notNull: false;
261
+ hasDefault: false;
262
+ isPrimaryKey: false;
263
+ isAutoincrement: false;
264
+ hasRuntimeDefault: false;
265
+ enumValues: [string, ...string[]];
266
+ baseColumn: never;
267
+ identity: undefined;
268
+ generated: undefined;
269
+ }, {}, {}>;
270
+ accessToken: drizzle_orm_pg_core.PgColumn<{
271
+ name: "access_token";
272
+ tableName: string;
273
+ dataType: "string";
274
+ columnType: "PgText";
275
+ data: string;
276
+ driverParam: string;
277
+ notNull: false;
278
+ hasDefault: false;
279
+ isPrimaryKey: false;
280
+ isAutoincrement: false;
281
+ hasRuntimeDefault: false;
282
+ enumValues: [string, ...string[]];
283
+ baseColumn: never;
284
+ identity: undefined;
285
+ generated: undefined;
286
+ }, {}, {}>;
287
+ refreshToken: drizzle_orm_pg_core.PgColumn<{
288
+ name: "refresh_token";
289
+ tableName: string;
290
+ dataType: "string";
291
+ columnType: "PgText";
292
+ data: string;
293
+ driverParam: string;
294
+ notNull: false;
295
+ hasDefault: false;
296
+ isPrimaryKey: false;
297
+ isAutoincrement: false;
298
+ hasRuntimeDefault: false;
299
+ enumValues: [string, ...string[]];
300
+ baseColumn: never;
301
+ identity: undefined;
302
+ generated: undefined;
303
+ }, {}, {}>;
304
+ expiresAt: drizzle_orm_pg_core.PgColumn<{
305
+ name: "expires_at";
306
+ tableName: string;
307
+ dataType: "date";
308
+ columnType: "PgTimestamp";
309
+ data: Date;
310
+ driverParam: string;
311
+ notNull: false;
312
+ hasDefault: false;
313
+ isPrimaryKey: false;
314
+ isAutoincrement: false;
315
+ hasRuntimeDefault: false;
316
+ enumValues: undefined;
317
+ baseColumn: never;
318
+ identity: undefined;
319
+ generated: undefined;
320
+ }, {}, {}>;
321
+ tokenType: drizzle_orm_pg_core.PgColumn<{
322
+ name: "token_type";
323
+ tableName: string;
324
+ dataType: "string";
325
+ columnType: "PgText";
326
+ data: string;
327
+ driverParam: string;
328
+ notNull: false;
329
+ hasDefault: false;
330
+ isPrimaryKey: false;
331
+ isAutoincrement: false;
332
+ hasRuntimeDefault: false;
333
+ enumValues: [string, ...string[]];
334
+ baseColumn: never;
335
+ identity: undefined;
336
+ generated: undefined;
337
+ }, {}, {}>;
338
+ scope: drizzle_orm_pg_core.PgColumn<{
339
+ name: "scope";
340
+ tableName: string;
341
+ dataType: "string";
342
+ columnType: "PgText";
343
+ data: string;
344
+ driverParam: string;
345
+ notNull: false;
346
+ hasDefault: false;
347
+ isPrimaryKey: false;
348
+ isAutoincrement: false;
349
+ hasRuntimeDefault: false;
350
+ enumValues: [string, ...string[]];
351
+ baseColumn: never;
352
+ identity: undefined;
353
+ generated: undefined;
354
+ }, {}, {}>;
355
+ idToken: drizzle_orm_pg_core.PgColumn<{
356
+ name: "id_token";
357
+ tableName: string;
358
+ dataType: "string";
359
+ columnType: "PgText";
360
+ data: string;
361
+ driverParam: string;
362
+ notNull: false;
363
+ hasDefault: false;
364
+ isPrimaryKey: false;
365
+ isAutoincrement: false;
366
+ hasRuntimeDefault: false;
367
+ enumValues: [string, ...string[]];
368
+ baseColumn: never;
369
+ identity: undefined;
370
+ generated: undefined;
371
+ }, {}, {}>;
372
+ };
373
+ dialect: "pg";
374
+ }>;
375
+ verificationTokens: PgTableWithColumns<{
376
+ name: string;
377
+ schema: undefined;
378
+ columns: {
379
+ identifier: drizzle_orm_pg_core.PgColumn<{
380
+ name: "identifier";
381
+ tableName: string;
382
+ dataType: "string";
383
+ columnType: "PgText";
384
+ data: string;
385
+ driverParam: string;
386
+ notNull: true;
387
+ hasDefault: false;
388
+ isPrimaryKey: false;
389
+ isAutoincrement: false;
390
+ hasRuntimeDefault: false;
391
+ enumValues: [string, ...string[]];
392
+ baseColumn: never;
393
+ identity: undefined;
394
+ generated: undefined;
395
+ }, {}, {}>;
396
+ token: drizzle_orm_pg_core.PgColumn<{
397
+ name: "token";
398
+ tableName: string;
399
+ dataType: "string";
400
+ columnType: "PgText";
401
+ data: string;
402
+ driverParam: string;
403
+ notNull: true;
404
+ hasDefault: false;
405
+ isPrimaryKey: false;
406
+ isAutoincrement: false;
407
+ hasRuntimeDefault: false;
408
+ enumValues: [string, ...string[]];
409
+ baseColumn: never;
410
+ identity: undefined;
411
+ generated: undefined;
412
+ }, {}, {}>;
413
+ expiresAt: drizzle_orm_pg_core.PgColumn<{
414
+ name: "expires_at";
415
+ tableName: string;
416
+ dataType: "date";
417
+ columnType: "PgTimestamp";
418
+ data: Date;
419
+ driverParam: string;
420
+ notNull: true;
421
+ hasDefault: false;
422
+ isPrimaryKey: false;
423
+ isAutoincrement: false;
424
+ hasRuntimeDefault: false;
425
+ enumValues: undefined;
426
+ baseColumn: never;
427
+ identity: undefined;
428
+ generated: undefined;
429
+ }, {}, {}>;
430
+ };
431
+ dialect: "pg";
432
+ }>;
433
+ auditLog: PgTableWithColumns<{
434
+ name: string;
435
+ schema: undefined;
436
+ columns: {
437
+ id: drizzle_orm_pg_core.PgColumn<{
438
+ name: "id";
439
+ tableName: string;
440
+ dataType: "string";
441
+ columnType: "PgText";
442
+ data: string;
443
+ driverParam: string;
444
+ notNull: true;
445
+ hasDefault: false;
446
+ isPrimaryKey: true;
447
+ isAutoincrement: false;
448
+ hasRuntimeDefault: false;
449
+ enumValues: [string, ...string[]];
450
+ baseColumn: never;
451
+ identity: undefined;
452
+ generated: undefined;
453
+ }, {}, {}>;
454
+ type: drizzle_orm_pg_core.PgColumn<{
455
+ name: "type";
456
+ tableName: string;
457
+ dataType: "string";
458
+ columnType: "PgText";
459
+ data: string;
460
+ driverParam: string;
461
+ notNull: true;
462
+ hasDefault: false;
463
+ isPrimaryKey: false;
464
+ isAutoincrement: false;
465
+ hasRuntimeDefault: false;
466
+ enumValues: [string, ...string[]];
467
+ baseColumn: never;
468
+ identity: undefined;
469
+ generated: undefined;
470
+ }, {}, {}>;
471
+ userId: drizzle_orm_pg_core.PgColumn<{
472
+ name: "user_id";
473
+ tableName: string;
474
+ dataType: "string";
475
+ columnType: "PgText";
476
+ data: string;
477
+ driverParam: string;
478
+ notNull: false;
479
+ hasDefault: false;
480
+ isPrimaryKey: false;
481
+ isAutoincrement: false;
482
+ hasRuntimeDefault: false;
483
+ enumValues: [string, ...string[]];
484
+ baseColumn: never;
485
+ identity: undefined;
486
+ generated: undefined;
487
+ }, {}, {}>;
488
+ sessionId: drizzle_orm_pg_core.PgColumn<{
489
+ name: "session_id";
490
+ tableName: string;
491
+ dataType: "string";
492
+ columnType: "PgText";
493
+ data: string;
494
+ driverParam: string;
495
+ notNull: false;
496
+ hasDefault: false;
497
+ isPrimaryKey: false;
498
+ isAutoincrement: false;
499
+ hasRuntimeDefault: false;
500
+ enumValues: [string, ...string[]];
501
+ baseColumn: never;
502
+ identity: undefined;
503
+ generated: undefined;
504
+ }, {}, {}>;
505
+ at: drizzle_orm_pg_core.PgColumn<{
506
+ name: "at";
507
+ tableName: string;
508
+ dataType: "date";
509
+ columnType: "PgTimestamp";
510
+ data: Date;
511
+ driverParam: string;
512
+ notNull: true;
513
+ hasDefault: true;
514
+ isPrimaryKey: false;
515
+ isAutoincrement: false;
516
+ hasRuntimeDefault: false;
517
+ enumValues: undefined;
518
+ baseColumn: never;
519
+ identity: undefined;
520
+ generated: undefined;
521
+ }, {}, {}>;
522
+ ip: drizzle_orm_pg_core.PgColumn<{
523
+ name: "ip";
524
+ tableName: string;
525
+ dataType: "string";
526
+ columnType: "PgText";
527
+ data: string;
528
+ driverParam: string;
529
+ notNull: false;
530
+ hasDefault: false;
531
+ isPrimaryKey: false;
532
+ isAutoincrement: false;
533
+ hasRuntimeDefault: false;
534
+ enumValues: [string, ...string[]];
535
+ baseColumn: never;
536
+ identity: undefined;
537
+ generated: undefined;
538
+ }, {}, {}>;
539
+ userAgent: drizzle_orm_pg_core.PgColumn<{
540
+ name: "user_agent";
541
+ tableName: string;
542
+ dataType: "string";
543
+ columnType: "PgText";
544
+ data: string;
545
+ driverParam: string;
546
+ notNull: false;
547
+ hasDefault: false;
548
+ isPrimaryKey: false;
549
+ isAutoincrement: false;
550
+ hasRuntimeDefault: false;
551
+ enumValues: [string, ...string[]];
552
+ baseColumn: never;
553
+ identity: undefined;
554
+ generated: undefined;
555
+ }, {}, {}>;
556
+ data: drizzle_orm_pg_core.PgColumn<{
557
+ name: "data";
558
+ tableName: string;
559
+ dataType: "json";
560
+ columnType: "PgJsonb";
561
+ data: unknown;
562
+ driverParam: unknown;
563
+ notNull: false;
564
+ hasDefault: false;
565
+ isPrimaryKey: false;
566
+ isAutoincrement: false;
567
+ hasRuntimeDefault: false;
568
+ enumValues: undefined;
569
+ baseColumn: never;
570
+ identity: undefined;
571
+ generated: undefined;
572
+ }, {}, {}>;
573
+ };
574
+ dialect: "pg";
575
+ }>;
576
+ };
577
+ relations: {
578
+ sessionsRelations: drizzle_orm.Relations<string, {
579
+ user: drizzle_orm.One<U["_"]["name"], true>;
580
+ }>;
581
+ accountsRelations: drizzle_orm.Relations<string, {
582
+ user: drizzle_orm.One<U["_"]["name"], true>;
583
+ }>;
584
+ auditLogRelations: drizzle_orm.Relations<string, {
585
+ user: drizzle_orm.One<U["_"]["name"], false>;
586
+ }>;
587
+ };
588
+ };
589
+ type HoleauthTables<U extends PgUsersTable> = ReturnType<typeof createHoleauthTables<U>>['tables'];
590
+ type PgDb = any;
591
+ interface CreateHoleauthAdaptersOptions<U extends PgUsersTable> {
592
+ db: PgDb;
593
+ tables: HoleauthTables<U>;
594
+ /** Column on the users table holding the email (default 'email'). */
595
+ userEmailColumn?: string;
596
+ /** Optional id generator. Default: crypto.randomUUID(). */
597
+ generateId?: () => string;
598
+ }
599
+ interface HoleauthAdapterBundle {
600
+ user: UserAdapter;
601
+ session: SessionAdapter;
602
+ account: AccountAdapter;
603
+ verificationToken: VerificationTokenAdapter;
604
+ auditLog: AuditLogAdapter;
605
+ transaction: TransactionAdapter;
606
+ }
607
+ declare function createHoleauthAdapters<U extends PgUsersTable>(opts: CreateHoleauthAdaptersOptions<U>): HoleauthAdapterBundle;
608
+
609
+ export { type CreateHoleauthAdaptersOptions, type CreateHoleauthTablesOptions, type HoleauthAdapterBundle, type PgDb, type PgUsersTable, createHoleauthAdapters, createHoleauthTables };