@auth/drizzle-adapter 1.0.1 → 1.2.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/lib/pg.d.ts CHANGED
@@ -1,308 +1,17 @@
1
1
  import { PgColumn, PgDatabase, PgTableWithColumns, QueryResultHKT } from "drizzle-orm/pg-core";
2
2
  import type { Adapter } from "@auth/core/adapters";
3
- export declare const postgresUsersTable: PgTableWithColumns<{
4
- name: "user";
5
- schema: undefined;
6
- columns: {
7
- id: PgColumn<{
8
- name: "id";
9
- tableName: "user";
10
- dataType: "string";
11
- columnType: "PgText";
12
- data: string;
13
- driverParam: string;
14
- notNull: true;
15
- hasDefault: true;
16
- enumValues: [string, ...string[]];
17
- baseColumn: never;
18
- }, {}, {}>;
19
- name: PgColumn<{
20
- name: "name";
21
- tableName: "user";
22
- dataType: "string";
23
- columnType: "PgText";
24
- data: string;
25
- driverParam: string;
26
- notNull: false;
27
- hasDefault: false;
28
- enumValues: [string, ...string[]];
29
- baseColumn: never;
30
- }, {}, {}>;
31
- email: PgColumn<{
32
- name: "email";
33
- tableName: "user";
34
- dataType: "string";
35
- columnType: "PgText";
36
- data: string;
37
- driverParam: string;
38
- notNull: true;
39
- hasDefault: false;
40
- enumValues: [string, ...string[]];
41
- baseColumn: never;
42
- }, {}, {}>;
43
- emailVerified: PgColumn<{
44
- name: "emailVerified";
45
- tableName: "user";
46
- dataType: "date";
47
- columnType: "PgTimestamp";
48
- data: Date;
49
- driverParam: string;
50
- notNull: false;
51
- hasDefault: false;
52
- enumValues: undefined;
53
- baseColumn: never;
54
- }, {}, {}>;
55
- image: PgColumn<{
56
- name: "image";
57
- tableName: "user";
58
- dataType: "string";
59
- columnType: "PgText";
60
- data: string;
61
- driverParam: string;
62
- notNull: false;
63
- hasDefault: false;
64
- enumValues: [string, ...string[]];
65
- baseColumn: never;
66
- }, {}, {}>;
67
- };
68
- dialect: "pg";
69
- }>;
70
- export declare const postgresAccountsTable: PgTableWithColumns<{
71
- name: "account";
72
- schema: undefined;
73
- columns: {
74
- userId: PgColumn<{
75
- name: "userId";
76
- tableName: "account";
77
- dataType: "string";
78
- columnType: "PgText";
79
- data: string;
80
- driverParam: string;
81
- notNull: true;
82
- hasDefault: false;
83
- enumValues: [string, ...string[]];
84
- baseColumn: never;
85
- }, {}, {}>;
86
- type: PgColumn<{
87
- name: "type";
88
- tableName: "account";
89
- dataType: "string";
90
- columnType: "PgText";
91
- data: "email" | "oidc" | "oauth" | "webauthn";
92
- driverParam: string;
93
- notNull: true;
94
- hasDefault: false;
95
- enumValues: [string, ...string[]];
96
- baseColumn: never;
97
- }, {}, {}>;
98
- provider: PgColumn<{
99
- name: "provider";
100
- tableName: "account";
101
- dataType: "string";
102
- columnType: "PgText";
103
- data: string;
104
- driverParam: string;
105
- notNull: true;
106
- hasDefault: false;
107
- enumValues: [string, ...string[]];
108
- baseColumn: never;
109
- }, {}, {}>;
110
- providerAccountId: PgColumn<{
111
- name: "providerAccountId";
112
- tableName: "account";
113
- dataType: "string";
114
- columnType: "PgText";
115
- data: string;
116
- driverParam: string;
117
- notNull: true;
118
- hasDefault: false;
119
- enumValues: [string, ...string[]];
120
- baseColumn: never;
121
- }, {}, {}>;
122
- refresh_token: PgColumn<{
123
- name: "refresh_token";
124
- tableName: "account";
125
- dataType: "string";
126
- columnType: "PgText";
127
- data: string;
128
- driverParam: string;
129
- notNull: false;
130
- hasDefault: false;
131
- enumValues: [string, ...string[]];
132
- baseColumn: never;
133
- }, {}, {}>;
134
- access_token: PgColumn<{
135
- name: "access_token";
136
- tableName: "account";
137
- dataType: "string";
138
- columnType: "PgText";
139
- data: string;
140
- driverParam: string;
141
- notNull: false;
142
- hasDefault: false;
143
- enumValues: [string, ...string[]];
144
- baseColumn: never;
145
- }, {}, {}>;
146
- expires_at: PgColumn<{
147
- name: "expires_at";
148
- tableName: "account";
149
- dataType: "number";
150
- columnType: "PgInteger";
151
- data: number;
152
- driverParam: string | number;
153
- notNull: false;
154
- hasDefault: false;
155
- enumValues: undefined;
156
- baseColumn: never;
157
- }, {}, {}>;
158
- token_type: PgColumn<{
159
- name: "token_type";
160
- tableName: "account";
161
- dataType: "string";
162
- columnType: "PgText";
163
- data: string;
164
- driverParam: string;
165
- notNull: false;
166
- hasDefault: false;
167
- enumValues: [string, ...string[]];
168
- baseColumn: never;
169
- }, {}, {}>;
170
- scope: PgColumn<{
171
- name: "scope";
172
- tableName: "account";
173
- dataType: "string";
174
- columnType: "PgText";
175
- data: string;
176
- driverParam: string;
177
- notNull: false;
178
- hasDefault: false;
179
- enumValues: [string, ...string[]];
180
- baseColumn: never;
181
- }, {}, {}>;
182
- id_token: PgColumn<{
183
- name: "id_token";
184
- tableName: "account";
185
- dataType: "string";
186
- columnType: "PgText";
187
- data: string;
188
- driverParam: string;
189
- notNull: false;
190
- hasDefault: false;
191
- enumValues: [string, ...string[]];
192
- baseColumn: never;
193
- }, {}, {}>;
194
- session_state: PgColumn<{
195
- name: "session_state";
196
- tableName: "account";
197
- dataType: "string";
198
- columnType: "PgText";
199
- data: string;
200
- driverParam: string;
201
- notNull: false;
202
- hasDefault: false;
203
- enumValues: [string, ...string[]];
204
- baseColumn: never;
205
- }, {}, {}>;
206
- };
207
- dialect: "pg";
208
- }>;
209
- export declare const postgresSessionsTable: PgTableWithColumns<{
210
- name: "session";
211
- schema: undefined;
212
- columns: {
213
- sessionToken: PgColumn<{
214
- name: "sessionToken";
215
- tableName: "session";
216
- dataType: "string";
217
- columnType: "PgText";
218
- data: string;
219
- driverParam: string;
220
- notNull: true;
221
- hasDefault: false;
222
- enumValues: [string, ...string[]];
223
- baseColumn: never;
224
- }, {}, {}>;
225
- userId: PgColumn<{
226
- name: "userId";
227
- tableName: "session";
228
- dataType: "string";
229
- columnType: "PgText";
230
- data: string;
231
- driverParam: string;
232
- notNull: true;
233
- hasDefault: false;
234
- enumValues: [string, ...string[]];
235
- baseColumn: never;
236
- }, {}, {}>;
237
- expires: PgColumn<{
238
- name: "expires";
239
- tableName: "session";
240
- dataType: "date";
241
- columnType: "PgTimestamp";
242
- data: Date;
243
- driverParam: string;
244
- notNull: true;
245
- hasDefault: false;
246
- enumValues: undefined;
247
- baseColumn: never;
248
- }, {}, {}>;
249
- };
250
- dialect: "pg";
251
- }>;
252
- export declare const postgresVerificationTokensTable: PgTableWithColumns<{
253
- name: "verificationToken";
254
- schema: undefined;
255
- columns: {
256
- identifier: PgColumn<{
257
- name: "identifier";
258
- tableName: "verificationToken";
259
- dataType: "string";
260
- columnType: "PgText";
261
- data: string;
262
- driverParam: string;
263
- notNull: true;
264
- hasDefault: false;
265
- enumValues: [string, ...string[]];
266
- baseColumn: never;
267
- }, {}, {}>;
268
- token: PgColumn<{
269
- name: "token";
270
- tableName: "verificationToken";
271
- dataType: "string";
272
- columnType: "PgText";
273
- data: string;
274
- driverParam: string;
275
- notNull: true;
276
- hasDefault: false;
277
- enumValues: [string, ...string[]];
278
- baseColumn: never;
279
- }, {}, {}>;
280
- expires: PgColumn<{
281
- name: "expires";
282
- tableName: "verificationToken";
283
- dataType: "date";
284
- columnType: "PgTimestamp";
285
- data: Date;
286
- driverParam: string;
287
- notNull: true;
288
- hasDefault: false;
289
- enumValues: undefined;
290
- baseColumn: never;
291
- }, {}, {}>;
292
- };
293
- dialect: "pg";
294
- }>;
3
+ export declare function defineTables(schema?: Partial<DefaultPostgresSchema>): Required<DefaultPostgresSchema>;
295
4
  export declare function PostgresDrizzleAdapter(client: PgDatabase<QueryResultHKT, any>, schema?: DefaultPostgresSchema): Adapter;
296
5
  type DefaultPostgresColumn<T extends {
297
- data: string | number | Date;
298
- dataType: "string" | "number" | "date";
6
+ data: string | number | boolean | Date;
7
+ dataType: "string" | "number" | "boolean" | "date";
299
8
  notNull: boolean;
300
- columnType: "PgVarchar" | "PgText" | "PgTimestamp" | "PgInteger" | "PgUUID";
9
+ columnType: "PgVarchar" | "PgText" | "PgBoolean" | "PgTimestamp" | "PgInteger" | "PgUUID";
301
10
  }> = PgColumn<{
302
11
  name: string;
303
12
  columnType: T["columnType"];
304
13
  data: T["data"];
305
- driverParam: string | number;
14
+ driverParam: string | number | boolean;
306
15
  notNull: T["notNull"];
307
16
  hasDefault: boolean;
308
17
  enumValues: any;
@@ -469,11 +178,67 @@ export type DefaultPostgresVerificationTokenTable = PgTableWithColumns<{
469
178
  dialect: "pg";
470
179
  schema: string | undefined;
471
180
  }>;
181
+ export type DefaultPostgresAuthenticatorTable = PgTableWithColumns<{
182
+ name: string;
183
+ columns: {
184
+ credentialID: DefaultPostgresColumn<{
185
+ columnType: "PgVarchar" | "PgText";
186
+ data: string;
187
+ notNull: true;
188
+ dataType: "string";
189
+ }>;
190
+ userId: DefaultPostgresColumn<{
191
+ columnType: "PgVarchar" | "PgText";
192
+ data: string;
193
+ notNull: true;
194
+ dataType: "string";
195
+ }>;
196
+ providerAccountId: DefaultPostgresColumn<{
197
+ columnType: "PgVarchar" | "PgText";
198
+ data: string;
199
+ notNull: true;
200
+ dataType: "string";
201
+ }>;
202
+ credentialPublicKey: DefaultPostgresColumn<{
203
+ columnType: "PgVarchar" | "PgText";
204
+ data: string;
205
+ notNull: true;
206
+ dataType: "string";
207
+ }>;
208
+ counter: DefaultPostgresColumn<{
209
+ columnType: "PgInteger";
210
+ data: number;
211
+ notNull: true;
212
+ dataType: "number";
213
+ }>;
214
+ credentialDeviceType: DefaultPostgresColumn<{
215
+ columnType: "PgVarchar" | "PgText";
216
+ data: string;
217
+ notNull: true;
218
+ dataType: "string";
219
+ }>;
220
+ credentialBackedUp: DefaultPostgresColumn<{
221
+ columnType: "PgBoolean";
222
+ data: boolean;
223
+ notNull: true;
224
+ dataType: "boolean";
225
+ }>;
226
+ transports: DefaultPostgresColumn<{
227
+ columnType: "PgVarchar" | "PgText";
228
+ data: string;
229
+ notNull: false;
230
+ dataType: "string";
231
+ }>;
232
+ };
233
+ dialect: "pg";
234
+ schema: string | undefined;
235
+ }>;
472
236
  export type DefaultPostgresSchema = {
473
237
  usersTable: DefaultPostgresUsersTable;
474
238
  accountsTable: DefaultPostgresAccountsTable;
475
- sessionsTable: DefaultPostgresSessionsTable;
476
- verificationTokensTable: DefaultPostgresVerificationTokenTable;
239
+ sessionsTable?: DefaultPostgresSessionsTable;
240
+ verificationTokensTable?: DefaultPostgresVerificationTokenTable;
241
+ authenticatorsTable?: DefaultPostgresAuthenticatorTable;
477
242
  };
478
243
  export {};
479
244
  //# sourceMappingURL=pg.d.ts.map
package/lib/pg.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../src/lib/pg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../src/lib/pg.ts"],"names":[],"mappings":"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"}
package/lib/pg.js CHANGED
@@ -1,64 +1,88 @@
1
1
  import { and, eq, getTableColumns } from "drizzle-orm";
2
- import { integer, pgTable, primaryKey, text, timestamp, } from "drizzle-orm/pg-core";
3
- export const postgresUsersTable = pgTable("user", {
4
- id: text("id")
5
- .primaryKey()
6
- .$defaultFn(() => crypto.randomUUID()),
7
- name: text("name"),
8
- email: text("email").notNull(),
9
- emailVerified: timestamp("emailVerified", { mode: "date" }),
10
- image: text("image"),
11
- });
12
- export const postgresAccountsTable = pgTable("account", {
13
- userId: text("userId")
14
- .notNull()
15
- .references(() => postgresUsersTable.id, { onDelete: "cascade" }),
16
- type: text("type").$type().notNull(),
17
- provider: text("provider").notNull(),
18
- providerAccountId: text("providerAccountId").notNull(),
19
- refresh_token: text("refresh_token"),
20
- access_token: text("access_token"),
21
- expires_at: integer("expires_at"),
22
- token_type: text("token_type"),
23
- scope: text("scope"),
24
- id_token: text("id_token"),
25
- session_state: text("session_state"),
26
- }, (table) => {
2
+ import { boolean, integer, pgTable, primaryKey, text, timestamp, } from "drizzle-orm/pg-core";
3
+ export function defineTables(schema = {}) {
4
+ const usersTable = schema.usersTable ??
5
+ (pgTable("user", {
6
+ id: text("id")
7
+ .primaryKey()
8
+ .$defaultFn(() => crypto.randomUUID()),
9
+ name: text("name"),
10
+ email: text("email").notNull(),
11
+ emailVerified: timestamp("emailVerified", { mode: "date" }),
12
+ image: text("image"),
13
+ }));
14
+ const accountsTable = schema.accountsTable ??
15
+ (pgTable("account", {
16
+ userId: text("userId")
17
+ .notNull()
18
+ .references(() => usersTable.id, { onDelete: "cascade" }),
19
+ type: text("type").$type().notNull(),
20
+ provider: text("provider").notNull(),
21
+ providerAccountId: text("providerAccountId").notNull(),
22
+ refresh_token: text("refresh_token"),
23
+ access_token: text("access_token"),
24
+ expires_at: integer("expires_at"),
25
+ token_type: text("token_type"),
26
+ scope: text("scope"),
27
+ id_token: text("id_token"),
28
+ session_state: text("session_state"),
29
+ }, (account) => ({
30
+ compositePk: primaryKey({
31
+ columns: [account.provider, account.providerAccountId],
32
+ }),
33
+ })));
34
+ const sessionsTable = schema.sessionsTable ??
35
+ (pgTable("session", {
36
+ sessionToken: text("sessionToken").primaryKey(),
37
+ userId: text("userId")
38
+ .notNull()
39
+ .references(() => usersTable.id, { onDelete: "cascade" }),
40
+ expires: timestamp("expires", { mode: "date" }).notNull(),
41
+ }));
42
+ const verificationTokensTable = schema.verificationTokensTable ??
43
+ (pgTable("verificationToken", {
44
+ identifier: text("identifier").notNull(),
45
+ token: text("token").notNull(),
46
+ expires: timestamp("expires", { mode: "date" }).notNull(),
47
+ }, (verficationToken) => ({
48
+ compositePk: primaryKey({
49
+ columns: [verficationToken.identifier, verficationToken.token],
50
+ }),
51
+ })));
52
+ const authenticatorsTable = schema.authenticatorsTable ??
53
+ (pgTable("authenticator", {
54
+ credentialID: text("credentialID").notNull().unique(),
55
+ userId: text("userId")
56
+ .notNull()
57
+ .references(() => usersTable.id, { onDelete: "cascade" }),
58
+ providerAccountId: text("providerAccountId").notNull(),
59
+ credentialPublicKey: text("credentialPublicKey").notNull(),
60
+ counter: integer("counter").notNull(),
61
+ credentialDeviceType: text("credentialDeviceType").notNull(),
62
+ credentialBackedUp: boolean("credentialBackedUp").notNull(),
63
+ transports: text("transports"),
64
+ }, (authenticator) => ({
65
+ compositePK: primaryKey({
66
+ columns: [authenticator.userId, authenticator.credentialID],
67
+ }),
68
+ })));
27
69
  return {
28
- compositePk: primaryKey({
29
- columns: [table.provider, table.providerAccountId],
30
- }),
70
+ usersTable,
71
+ accountsTable,
72
+ sessionsTable,
73
+ verificationTokensTable,
74
+ authenticatorsTable,
31
75
  };
32
- });
33
- export const postgresSessionsTable = pgTable("session", {
34
- sessionToken: text("sessionToken").primaryKey(),
35
- userId: text("userId")
36
- .notNull()
37
- .references(() => postgresUsersTable.id, { onDelete: "cascade" }),
38
- expires: timestamp("expires", { mode: "date" }).notNull(),
39
- });
40
- export const postgresVerificationTokensTable = pgTable("verificationToken", {
41
- identifier: text("identifier").notNull(),
42
- token: text("token").notNull(),
43
- expires: timestamp("expires", { mode: "date" }).notNull(),
44
- }, (table) => {
45
- return {
46
- compositePk: primaryKey({ columns: [table.identifier, table.token] }),
47
- };
48
- });
49
- export function PostgresDrizzleAdapter(client, schema = {
50
- usersTable: postgresUsersTable,
51
- accountsTable: postgresAccountsTable,
52
- sessionsTable: postgresSessionsTable,
53
- verificationTokensTable: postgresVerificationTokensTable,
54
- }) {
55
- const { usersTable, accountsTable, sessionsTable, verificationTokensTable } = schema;
76
+ }
77
+ export function PostgresDrizzleAdapter(client, schema) {
78
+ const { usersTable, accountsTable, sessionsTable, verificationTokensTable, authenticatorsTable, } = defineTables(schema);
56
79
  return {
57
80
  async createUser(data) {
81
+ const { id, ...insertData } = data;
58
82
  const hasDefaultId = getTableColumns(usersTable)["id"]["hasDefault"];
59
83
  return client
60
84
  .insert(usersTable)
61
- .values(hasDefaultId ? data : { ...data, id: crypto.randomUUID() })
85
+ .values(hasDefaultId ? insertData : { ...insertData, id })
62
86
  .returning()
63
87
  .then((res) => res[0]);
64
88
  },
@@ -158,5 +182,44 @@ export function PostgresDrizzleAdapter(client, schema = {
158
182
  .delete(accountsTable)
159
183
  .where(and(eq(accountsTable.provider, params.provider), eq(accountsTable.providerAccountId, params.providerAccountId)));
160
184
  },
185
+ async getAccount(providerAccountId, provider) {
186
+ return client
187
+ .select()
188
+ .from(accountsTable)
189
+ .where(and(eq(accountsTable.provider, provider), eq(accountsTable.providerAccountId, providerAccountId)))
190
+ .then((res) => res[0] ?? null);
191
+ },
192
+ async createAuthenticator(data) {
193
+ return client
194
+ .insert(authenticatorsTable)
195
+ .values(data)
196
+ .returning()
197
+ .then((res) => res[0] ?? null);
198
+ },
199
+ async getAuthenticator(credentialID) {
200
+ return client
201
+ .select()
202
+ .from(authenticatorsTable)
203
+ .where(eq(authenticatorsTable.credentialID, credentialID))
204
+ .then((res) => res[0] ?? null);
205
+ },
206
+ async listAuthenticatorsByUserId(userId) {
207
+ return client
208
+ .select()
209
+ .from(authenticatorsTable)
210
+ .where(eq(authenticatorsTable.userId, userId))
211
+ .then((res) => res);
212
+ },
213
+ async updateAuthenticatorCounter(credentialID, newCounter) {
214
+ const authenticator = await client
215
+ .update(authenticatorsTable)
216
+ .set({ counter: newCounter })
217
+ .where(eq(authenticatorsTable.credentialID, credentialID))
218
+ .returning()
219
+ .then((res) => res[0]);
220
+ if (!authenticator)
221
+ throw new Error("Authenticator not found.");
222
+ return authenticator;
223
+ },
161
224
  };
162
225
  }