@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.
- package/LICENSE +21 -0
- package/README.md +50 -0
- package/dist/index.cjs +4 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/mysql/index.cjs +285 -0
- package/dist/mysql/index.cjs.map +1 -0
- package/dist/mysql/index.d.cts +602 -0
- package/dist/mysql/index.d.ts +602 -0
- package/dist/mysql/index.js +282 -0
- package/dist/mysql/index.js.map +1 -0
- package/dist/pg/index.cjs +289 -0
- package/dist/pg/index.cjs.map +1 -0
- package/dist/pg/index.d.cts +609 -0
- package/dist/pg/index.d.ts +609 -0
- package/dist/pg/index.js +286 -0
- package/dist/pg/index.js.map +1 -0
- package/dist/sqlite/index.cjs +271 -0
- package/dist/sqlite/index.cjs.map +1 -0
- package/dist/sqlite/index.d.cts +602 -0
- package/dist/sqlite/index.d.ts +602 -0
- package/dist/sqlite/index.js +268 -0
- package/dist/sqlite/index.js.map +1 -0
- package/package.json +79 -0
|
@@ -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 };
|