@auth/drizzle-adapter 1.0.0 → 1.0.1
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/index.d.ts +62 -72
- package/index.d.ts.map +1 -1
- package/index.js +62 -72
- package/lib/mysql.d.ts +230 -70
- package/lib/mysql.d.ts.map +1 -1
- package/lib/mysql.js +17 -21
- package/lib/pg.d.ts +229 -70
- package/lib/pg.d.ts.map +1 -1
- package/lib/pg.js +9 -17
- package/lib/sqlite.d.ts +229 -70
- package/lib/sqlite.d.ts.map +1 -1
- package/lib/sqlite.js +14 -16
- package/lib/utils.d.ts +6 -6
- package/lib/utils.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +62 -88
- package/src/lib/mysql.ts +221 -57
- package/src/lib/pg.ts +213 -51
- package/src/lib/sqlite.ts +215 -47
- package/src/lib/utils.ts +14 -13
package/lib/sqlite.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { BaseSQLiteDatabase,
|
|
1
|
+
import { BaseSQLiteDatabase, SQLiteColumn, SQLiteTableWithColumns } from "drizzle-orm/sqlite-core";
|
|
2
2
|
import type { Adapter } from "@auth/core/adapters";
|
|
3
3
|
export declare const sqliteUsersTable: SQLiteTableWithColumns<{
|
|
4
|
-
name:
|
|
4
|
+
name: "user";
|
|
5
5
|
schema: undefined;
|
|
6
6
|
columns: {
|
|
7
|
-
id:
|
|
7
|
+
id: SQLiteColumn<{
|
|
8
8
|
name: "id";
|
|
9
|
-
tableName:
|
|
9
|
+
tableName: "user";
|
|
10
10
|
dataType: "string";
|
|
11
11
|
columnType: "SQLiteText";
|
|
12
12
|
data: string;
|
|
@@ -16,9 +16,9 @@ export declare const sqliteUsersTable: SQLiteTableWithColumns<{
|
|
|
16
16
|
enumValues: [string, ...string[]];
|
|
17
17
|
baseColumn: never;
|
|
18
18
|
}, object>;
|
|
19
|
-
name:
|
|
19
|
+
name: SQLiteColumn<{
|
|
20
20
|
name: "name";
|
|
21
|
-
tableName:
|
|
21
|
+
tableName: "user";
|
|
22
22
|
dataType: "string";
|
|
23
23
|
columnType: "SQLiteText";
|
|
24
24
|
data: string;
|
|
@@ -28,9 +28,9 @@ export declare const sqliteUsersTable: SQLiteTableWithColumns<{
|
|
|
28
28
|
enumValues: [string, ...string[]];
|
|
29
29
|
baseColumn: never;
|
|
30
30
|
}, object>;
|
|
31
|
-
email:
|
|
31
|
+
email: SQLiteColumn<{
|
|
32
32
|
name: "email";
|
|
33
|
-
tableName:
|
|
33
|
+
tableName: "user";
|
|
34
34
|
dataType: "string";
|
|
35
35
|
columnType: "SQLiteText";
|
|
36
36
|
data: string;
|
|
@@ -40,9 +40,9 @@ export declare const sqliteUsersTable: SQLiteTableWithColumns<{
|
|
|
40
40
|
enumValues: [string, ...string[]];
|
|
41
41
|
baseColumn: never;
|
|
42
42
|
}, object>;
|
|
43
|
-
emailVerified:
|
|
43
|
+
emailVerified: SQLiteColumn<{
|
|
44
44
|
name: "emailVerified";
|
|
45
|
-
tableName:
|
|
45
|
+
tableName: "user";
|
|
46
46
|
dataType: "date";
|
|
47
47
|
columnType: "SQLiteTimestamp";
|
|
48
48
|
data: Date;
|
|
@@ -52,9 +52,9 @@ export declare const sqliteUsersTable: SQLiteTableWithColumns<{
|
|
|
52
52
|
enumValues: undefined;
|
|
53
53
|
baseColumn: never;
|
|
54
54
|
}, object>;
|
|
55
|
-
image:
|
|
55
|
+
image: SQLiteColumn<{
|
|
56
56
|
name: "image";
|
|
57
|
-
tableName:
|
|
57
|
+
tableName: "user";
|
|
58
58
|
dataType: "string";
|
|
59
59
|
columnType: "SQLiteText";
|
|
60
60
|
data: string;
|
|
@@ -68,12 +68,12 @@ export declare const sqliteUsersTable: SQLiteTableWithColumns<{
|
|
|
68
68
|
dialect: "sqlite";
|
|
69
69
|
}>;
|
|
70
70
|
export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
71
|
-
name:
|
|
71
|
+
name: "account";
|
|
72
72
|
schema: undefined;
|
|
73
73
|
columns: {
|
|
74
|
-
userId:
|
|
74
|
+
userId: SQLiteColumn<{
|
|
75
75
|
name: "userId";
|
|
76
|
-
tableName:
|
|
76
|
+
tableName: "account";
|
|
77
77
|
dataType: "string";
|
|
78
78
|
columnType: "SQLiteText";
|
|
79
79
|
data: string;
|
|
@@ -83,21 +83,21 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
83
83
|
enumValues: [string, ...string[]];
|
|
84
84
|
baseColumn: never;
|
|
85
85
|
}, object>;
|
|
86
|
-
type:
|
|
86
|
+
type: SQLiteColumn<{
|
|
87
87
|
name: "type";
|
|
88
|
-
tableName:
|
|
88
|
+
tableName: "account";
|
|
89
89
|
dataType: "string";
|
|
90
90
|
columnType: "SQLiteText";
|
|
91
|
-
data:
|
|
91
|
+
data: "email" | "oidc" | "oauth" | "webauthn";
|
|
92
92
|
driverParam: string;
|
|
93
93
|
notNull: true;
|
|
94
94
|
hasDefault: false;
|
|
95
95
|
enumValues: [string, ...string[]];
|
|
96
96
|
baseColumn: never;
|
|
97
97
|
}, object>;
|
|
98
|
-
provider:
|
|
98
|
+
provider: SQLiteColumn<{
|
|
99
99
|
name: "provider";
|
|
100
|
-
tableName:
|
|
100
|
+
tableName: "account";
|
|
101
101
|
dataType: "string";
|
|
102
102
|
columnType: "SQLiteText";
|
|
103
103
|
data: string;
|
|
@@ -107,9 +107,9 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
107
107
|
enumValues: [string, ...string[]];
|
|
108
108
|
baseColumn: never;
|
|
109
109
|
}, object>;
|
|
110
|
-
providerAccountId:
|
|
110
|
+
providerAccountId: SQLiteColumn<{
|
|
111
111
|
name: "providerAccountId";
|
|
112
|
-
tableName:
|
|
112
|
+
tableName: "account";
|
|
113
113
|
dataType: "string";
|
|
114
114
|
columnType: "SQLiteText";
|
|
115
115
|
data: string;
|
|
@@ -119,9 +119,9 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
119
119
|
enumValues: [string, ...string[]];
|
|
120
120
|
baseColumn: never;
|
|
121
121
|
}, object>;
|
|
122
|
-
refresh_token:
|
|
122
|
+
refresh_token: SQLiteColumn<{
|
|
123
123
|
name: "refresh_token";
|
|
124
|
-
tableName:
|
|
124
|
+
tableName: "account";
|
|
125
125
|
dataType: "string";
|
|
126
126
|
columnType: "SQLiteText";
|
|
127
127
|
data: string;
|
|
@@ -131,9 +131,9 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
131
131
|
enumValues: [string, ...string[]];
|
|
132
132
|
baseColumn: never;
|
|
133
133
|
}, object>;
|
|
134
|
-
access_token:
|
|
134
|
+
access_token: SQLiteColumn<{
|
|
135
135
|
name: "access_token";
|
|
136
|
-
tableName:
|
|
136
|
+
tableName: "account";
|
|
137
137
|
dataType: "string";
|
|
138
138
|
columnType: "SQLiteText";
|
|
139
139
|
data: string;
|
|
@@ -143,9 +143,9 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
143
143
|
enumValues: [string, ...string[]];
|
|
144
144
|
baseColumn: never;
|
|
145
145
|
}, object>;
|
|
146
|
-
expires_at:
|
|
146
|
+
expires_at: SQLiteColumn<{
|
|
147
147
|
name: "expires_at";
|
|
148
|
-
tableName:
|
|
148
|
+
tableName: "account";
|
|
149
149
|
dataType: "number";
|
|
150
150
|
columnType: "SQLiteInteger";
|
|
151
151
|
data: number;
|
|
@@ -155,9 +155,9 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
155
155
|
enumValues: undefined;
|
|
156
156
|
baseColumn: never;
|
|
157
157
|
}, object>;
|
|
158
|
-
token_type:
|
|
158
|
+
token_type: SQLiteColumn<{
|
|
159
159
|
name: "token_type";
|
|
160
|
-
tableName:
|
|
160
|
+
tableName: "account";
|
|
161
161
|
dataType: "string";
|
|
162
162
|
columnType: "SQLiteText";
|
|
163
163
|
data: string;
|
|
@@ -167,9 +167,9 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
167
167
|
enumValues: [string, ...string[]];
|
|
168
168
|
baseColumn: never;
|
|
169
169
|
}, object>;
|
|
170
|
-
scope:
|
|
170
|
+
scope: SQLiteColumn<{
|
|
171
171
|
name: "scope";
|
|
172
|
-
tableName:
|
|
172
|
+
tableName: "account";
|
|
173
173
|
dataType: "string";
|
|
174
174
|
columnType: "SQLiteText";
|
|
175
175
|
data: string;
|
|
@@ -179,9 +179,9 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
179
179
|
enumValues: [string, ...string[]];
|
|
180
180
|
baseColumn: never;
|
|
181
181
|
}, object>;
|
|
182
|
-
id_token:
|
|
182
|
+
id_token: SQLiteColumn<{
|
|
183
183
|
name: "id_token";
|
|
184
|
-
tableName:
|
|
184
|
+
tableName: "account";
|
|
185
185
|
dataType: "string";
|
|
186
186
|
columnType: "SQLiteText";
|
|
187
187
|
data: string;
|
|
@@ -191,9 +191,9 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
191
191
|
enumValues: [string, ...string[]];
|
|
192
192
|
baseColumn: never;
|
|
193
193
|
}, object>;
|
|
194
|
-
session_state:
|
|
194
|
+
session_state: SQLiteColumn<{
|
|
195
195
|
name: "session_state";
|
|
196
|
-
tableName:
|
|
196
|
+
tableName: "account";
|
|
197
197
|
dataType: "string";
|
|
198
198
|
columnType: "SQLiteText";
|
|
199
199
|
data: string;
|
|
@@ -207,24 +207,12 @@ export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
|
|
|
207
207
|
dialect: "sqlite";
|
|
208
208
|
}>;
|
|
209
209
|
export declare const sqliteSessionsTable: SQLiteTableWithColumns<{
|
|
210
|
-
name:
|
|
210
|
+
name: "session";
|
|
211
211
|
schema: undefined;
|
|
212
212
|
columns: {
|
|
213
|
-
|
|
214
|
-
name: "id";
|
|
215
|
-
tableName: string;
|
|
216
|
-
dataType: "string";
|
|
217
|
-
columnType: "SQLiteText";
|
|
218
|
-
data: string;
|
|
219
|
-
driverParam: string;
|
|
220
|
-
notNull: true;
|
|
221
|
-
hasDefault: true;
|
|
222
|
-
enumValues: [string, ...string[]];
|
|
223
|
-
baseColumn: never;
|
|
224
|
-
}, object>;
|
|
225
|
-
sessionToken: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
213
|
+
sessionToken: SQLiteColumn<{
|
|
226
214
|
name: "sessionToken";
|
|
227
|
-
tableName:
|
|
215
|
+
tableName: "session";
|
|
228
216
|
dataType: "string";
|
|
229
217
|
columnType: "SQLiteText";
|
|
230
218
|
data: string;
|
|
@@ -234,9 +222,9 @@ export declare const sqliteSessionsTable: SQLiteTableWithColumns<{
|
|
|
234
222
|
enumValues: [string, ...string[]];
|
|
235
223
|
baseColumn: never;
|
|
236
224
|
}, object>;
|
|
237
|
-
userId:
|
|
225
|
+
userId: SQLiteColumn<{
|
|
238
226
|
name: "userId";
|
|
239
|
-
tableName:
|
|
227
|
+
tableName: "session";
|
|
240
228
|
dataType: "string";
|
|
241
229
|
columnType: "SQLiteText";
|
|
242
230
|
data: string;
|
|
@@ -246,9 +234,9 @@ export declare const sqliteSessionsTable: SQLiteTableWithColumns<{
|
|
|
246
234
|
enumValues: [string, ...string[]];
|
|
247
235
|
baseColumn: never;
|
|
248
236
|
}, object>;
|
|
249
|
-
expires:
|
|
237
|
+
expires: SQLiteColumn<{
|
|
250
238
|
name: "expires";
|
|
251
|
-
tableName:
|
|
239
|
+
tableName: "session";
|
|
252
240
|
dataType: "date";
|
|
253
241
|
columnType: "SQLiteTimestamp";
|
|
254
242
|
data: Date;
|
|
@@ -262,12 +250,12 @@ export declare const sqliteSessionsTable: SQLiteTableWithColumns<{
|
|
|
262
250
|
dialect: "sqlite";
|
|
263
251
|
}>;
|
|
264
252
|
export declare const sqliteVerificationTokensTable: SQLiteTableWithColumns<{
|
|
265
|
-
name:
|
|
253
|
+
name: "verificationToken";
|
|
266
254
|
schema: undefined;
|
|
267
255
|
columns: {
|
|
268
|
-
identifier:
|
|
256
|
+
identifier: SQLiteColumn<{
|
|
269
257
|
name: "identifier";
|
|
270
|
-
tableName:
|
|
258
|
+
tableName: "verificationToken";
|
|
271
259
|
dataType: "string";
|
|
272
260
|
columnType: "SQLiteText";
|
|
273
261
|
data: string;
|
|
@@ -277,9 +265,9 @@ export declare const sqliteVerificationTokensTable: SQLiteTableWithColumns<{
|
|
|
277
265
|
enumValues: [string, ...string[]];
|
|
278
266
|
baseColumn: never;
|
|
279
267
|
}, object>;
|
|
280
|
-
token:
|
|
268
|
+
token: SQLiteColumn<{
|
|
281
269
|
name: "token";
|
|
282
|
-
tableName:
|
|
270
|
+
tableName: "verificationToken";
|
|
283
271
|
dataType: "string";
|
|
284
272
|
columnType: "SQLiteText";
|
|
285
273
|
data: string;
|
|
@@ -289,9 +277,9 @@ export declare const sqliteVerificationTokensTable: SQLiteTableWithColumns<{
|
|
|
289
277
|
enumValues: [string, ...string[]];
|
|
290
278
|
baseColumn: never;
|
|
291
279
|
}, object>;
|
|
292
|
-
expires:
|
|
280
|
+
expires: SQLiteColumn<{
|
|
293
281
|
name: "expires";
|
|
294
|
-
tableName:
|
|
282
|
+
tableName: "verificationToken";
|
|
295
283
|
dataType: "date";
|
|
296
284
|
columnType: "SQLiteTimestamp";
|
|
297
285
|
data: Date;
|
|
@@ -305,16 +293,187 @@ export declare const sqliteVerificationTokensTable: SQLiteTableWithColumns<{
|
|
|
305
293
|
dialect: "sqlite";
|
|
306
294
|
}>;
|
|
307
295
|
export declare function SQLiteDrizzleAdapter(client: BaseSQLiteDatabase<"sync" | "async", any, any>, schema?: DefaultSQLiteSchema): Adapter;
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
296
|
+
type DefaultSQLiteColumn<T extends {
|
|
297
|
+
data: string | number | Date;
|
|
298
|
+
dataType: "string" | "number" | "date";
|
|
299
|
+
notNull: boolean;
|
|
300
|
+
columnType: "SQLiteText" | "SQLiteTimestamp" | "SQLiteInteger";
|
|
301
|
+
}> = SQLiteColumn<{
|
|
302
|
+
name: string;
|
|
303
|
+
columnType: T["columnType"];
|
|
304
|
+
data: T["data"];
|
|
305
|
+
driverParam: string | number;
|
|
306
|
+
notNull: T["notNull"];
|
|
307
|
+
hasDefault: boolean;
|
|
308
|
+
enumValues: any;
|
|
309
|
+
dataType: T["dataType"];
|
|
310
|
+
tableName: string;
|
|
311
|
+
}>;
|
|
312
|
+
export type DefaultSQLiteUsersTable = SQLiteTableWithColumns<{
|
|
313
|
+
name: string;
|
|
314
|
+
columns: {
|
|
315
|
+
id: DefaultSQLiteColumn<{
|
|
316
|
+
columnType: "SQLiteText";
|
|
317
|
+
data: string;
|
|
318
|
+
notNull: true;
|
|
319
|
+
dataType: "string";
|
|
320
|
+
}>;
|
|
321
|
+
name: DefaultSQLiteColumn<{
|
|
322
|
+
columnType: "SQLiteText";
|
|
323
|
+
data: string;
|
|
324
|
+
notNull: boolean;
|
|
325
|
+
dataType: "string";
|
|
326
|
+
}>;
|
|
327
|
+
email: DefaultSQLiteColumn<{
|
|
328
|
+
columnType: "SQLiteText";
|
|
329
|
+
data: string;
|
|
330
|
+
notNull: true;
|
|
331
|
+
dataType: "string";
|
|
332
|
+
}>;
|
|
333
|
+
emailVerified: DefaultSQLiteColumn<{
|
|
334
|
+
dataType: "date";
|
|
335
|
+
columnType: "SQLiteTimestamp";
|
|
336
|
+
data: Date;
|
|
337
|
+
notNull: boolean;
|
|
338
|
+
}>;
|
|
339
|
+
image: DefaultSQLiteColumn<{
|
|
340
|
+
dataType: "string";
|
|
341
|
+
columnType: "SQLiteText";
|
|
342
|
+
data: string;
|
|
343
|
+
notNull: boolean;
|
|
344
|
+
}>;
|
|
345
|
+
};
|
|
346
|
+
dialect: "sqlite";
|
|
347
|
+
schema: string | undefined;
|
|
348
|
+
}>;
|
|
349
|
+
export type DefaultSQLiteAccountsTable = SQLiteTableWithColumns<{
|
|
350
|
+
name: string;
|
|
351
|
+
columns: {
|
|
352
|
+
userId: DefaultSQLiteColumn<{
|
|
353
|
+
columnType: "SQLiteText";
|
|
354
|
+
data: string;
|
|
355
|
+
notNull: true;
|
|
356
|
+
dataType: "string";
|
|
357
|
+
}>;
|
|
358
|
+
type: DefaultSQLiteColumn<{
|
|
359
|
+
columnType: "SQLiteText";
|
|
360
|
+
data: string;
|
|
361
|
+
notNull: true;
|
|
362
|
+
dataType: "string";
|
|
363
|
+
}>;
|
|
364
|
+
provider: DefaultSQLiteColumn<{
|
|
365
|
+
columnType: "SQLiteText";
|
|
366
|
+
data: string;
|
|
367
|
+
notNull: true;
|
|
368
|
+
dataType: "string";
|
|
369
|
+
}>;
|
|
370
|
+
providerAccountId: DefaultSQLiteColumn<{
|
|
371
|
+
dataType: "string";
|
|
372
|
+
columnType: "SQLiteText";
|
|
373
|
+
data: string;
|
|
374
|
+
notNull: true;
|
|
375
|
+
}>;
|
|
376
|
+
refresh_token: DefaultSQLiteColumn<{
|
|
377
|
+
dataType: "string";
|
|
378
|
+
columnType: "SQLiteText";
|
|
379
|
+
data: string;
|
|
380
|
+
notNull: boolean;
|
|
381
|
+
}>;
|
|
382
|
+
access_token: DefaultSQLiteColumn<{
|
|
383
|
+
dataType: "string";
|
|
384
|
+
columnType: "SQLiteText";
|
|
385
|
+
data: string;
|
|
386
|
+
notNull: boolean;
|
|
387
|
+
}>;
|
|
388
|
+
expires_at: DefaultSQLiteColumn<{
|
|
389
|
+
dataType: "number";
|
|
390
|
+
columnType: "SQLiteInteger";
|
|
391
|
+
data: number;
|
|
392
|
+
notNull: boolean;
|
|
393
|
+
}>;
|
|
394
|
+
token_type: DefaultSQLiteColumn<{
|
|
395
|
+
dataType: "string";
|
|
396
|
+
columnType: "SQLiteText";
|
|
397
|
+
data: string;
|
|
398
|
+
notNull: boolean;
|
|
399
|
+
}>;
|
|
400
|
+
scope: DefaultSQLiteColumn<{
|
|
401
|
+
dataType: "string";
|
|
402
|
+
columnType: "SQLiteText";
|
|
403
|
+
data: string;
|
|
404
|
+
notNull: boolean;
|
|
405
|
+
}>;
|
|
406
|
+
id_token: DefaultSQLiteColumn<{
|
|
407
|
+
dataType: "string";
|
|
408
|
+
columnType: "SQLiteText";
|
|
409
|
+
data: string;
|
|
410
|
+
notNull: boolean;
|
|
411
|
+
}>;
|
|
412
|
+
session_state: DefaultSQLiteColumn<{
|
|
413
|
+
dataType: "string";
|
|
414
|
+
columnType: "SQLiteText";
|
|
415
|
+
data: string;
|
|
416
|
+
notNull: boolean;
|
|
417
|
+
}>;
|
|
418
|
+
};
|
|
419
|
+
dialect: "sqlite";
|
|
420
|
+
schema: string | undefined;
|
|
421
|
+
}>;
|
|
422
|
+
export type DefaultSQLiteSessionsTable = SQLiteTableWithColumns<{
|
|
423
|
+
name: string;
|
|
424
|
+
columns: {
|
|
425
|
+
sessionToken: DefaultSQLiteColumn<{
|
|
426
|
+
columnType: "SQLiteText";
|
|
427
|
+
data: string;
|
|
428
|
+
notNull: true;
|
|
429
|
+
dataType: "string";
|
|
430
|
+
}>;
|
|
431
|
+
userId: DefaultSQLiteColumn<{
|
|
432
|
+
columnType: "SQLiteText";
|
|
433
|
+
data: string;
|
|
434
|
+
notNull: true;
|
|
435
|
+
dataType: "string";
|
|
436
|
+
}>;
|
|
437
|
+
expires: DefaultSQLiteColumn<{
|
|
438
|
+
dataType: "date";
|
|
439
|
+
columnType: "SQLiteTimestamp";
|
|
440
|
+
data: Date;
|
|
441
|
+
notNull: true;
|
|
442
|
+
}>;
|
|
443
|
+
};
|
|
444
|
+
dialect: "sqlite";
|
|
445
|
+
schema: string | undefined;
|
|
446
|
+
}>;
|
|
447
|
+
export type DefaultSQLiteVerificationTokenTable = SQLiteTableWithColumns<{
|
|
448
|
+
name: string;
|
|
449
|
+
columns: {
|
|
450
|
+
identifier: DefaultSQLiteColumn<{
|
|
451
|
+
columnType: "SQLiteText";
|
|
452
|
+
data: string;
|
|
453
|
+
notNull: true;
|
|
454
|
+
dataType: "string";
|
|
455
|
+
}>;
|
|
456
|
+
token: DefaultSQLiteColumn<{
|
|
457
|
+
columnType: "SQLiteText";
|
|
458
|
+
data: string;
|
|
459
|
+
notNull: true;
|
|
460
|
+
dataType: "string";
|
|
461
|
+
}>;
|
|
462
|
+
expires: DefaultSQLiteColumn<{
|
|
463
|
+
dataType: "date";
|
|
464
|
+
columnType: "SQLiteTimestamp";
|
|
465
|
+
data: Date;
|
|
466
|
+
notNull: true;
|
|
467
|
+
}>;
|
|
468
|
+
};
|
|
469
|
+
dialect: "sqlite";
|
|
312
470
|
schema: string | undefined;
|
|
313
471
|
}>;
|
|
314
472
|
export type DefaultSQLiteSchema = {
|
|
315
|
-
usersTable:
|
|
316
|
-
accountsTable:
|
|
317
|
-
sessionsTable:
|
|
318
|
-
verificationTokensTable:
|
|
473
|
+
usersTable: DefaultSQLiteUsersTable;
|
|
474
|
+
accountsTable: DefaultSQLiteAccountsTable;
|
|
475
|
+
sessionsTable: DefaultSQLiteSessionsTable;
|
|
476
|
+
verificationTokensTable: DefaultSQLiteVerificationTokenTable;
|
|
319
477
|
};
|
|
478
|
+
export {};
|
|
320
479
|
//# sourceMappingURL=sqlite.d.ts.map
|
package/lib/sqlite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/lib/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/lib/sqlite.ts"],"names":[],"mappings":"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"}
|
package/lib/sqlite.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { eq,
|
|
2
|
-
import { integer,
|
|
3
|
-
import { randomUUID } from "crypto";
|
|
1
|
+
import { and, eq, getTableColumns } from "drizzle-orm";
|
|
2
|
+
import { integer, primaryKey, sqliteTable, text, } from "drizzle-orm/sqlite-core";
|
|
4
3
|
export const sqliteUsersTable = sqliteTable("user", {
|
|
5
4
|
id: text("id")
|
|
6
5
|
.primaryKey()
|
|
7
|
-
.$defaultFn(() => randomUUID()),
|
|
6
|
+
.$defaultFn(() => crypto.randomUUID()),
|
|
8
7
|
name: text("name"),
|
|
9
|
-
email: text("email").notNull()
|
|
8
|
+
email: text("email").notNull(),
|
|
10
9
|
emailVerified: integer("emailVerified", { mode: "timestamp_ms" }),
|
|
11
10
|
image: text("image"),
|
|
12
11
|
});
|
|
@@ -14,7 +13,7 @@ export const sqliteAccountsTable = sqliteTable("account", {
|
|
|
14
13
|
userId: text("userId")
|
|
15
14
|
.notNull()
|
|
16
15
|
.references(() => sqliteUsersTable.id, { onDelete: "cascade" }),
|
|
17
|
-
type: text("type").notNull(),
|
|
16
|
+
type: text("type").$type().notNull(),
|
|
18
17
|
provider: text("provider").notNull(),
|
|
19
18
|
providerAccountId: text("providerAccountId").notNull(),
|
|
20
19
|
refresh_token: text("refresh_token"),
|
|
@@ -25,26 +24,20 @@ export const sqliteAccountsTable = sqliteTable("account", {
|
|
|
25
24
|
id_token: text("id_token"),
|
|
26
25
|
session_state: text("session_state"),
|
|
27
26
|
}, (account) => ({
|
|
28
|
-
userIdIdx: index("Account_userId_index").on(account.userId),
|
|
29
27
|
compositePk: primaryKey({
|
|
30
28
|
columns: [account.provider, account.providerAccountId],
|
|
31
29
|
}),
|
|
32
30
|
}));
|
|
33
31
|
export const sqliteSessionsTable = sqliteTable("session", {
|
|
34
|
-
|
|
35
|
-
.primaryKey()
|
|
36
|
-
.$defaultFn(() => randomUUID()),
|
|
37
|
-
sessionToken: text("sessionToken").notNull().unique(),
|
|
32
|
+
sessionToken: text("sessionToken").primaryKey(),
|
|
38
33
|
userId: text("userId")
|
|
39
34
|
.notNull()
|
|
40
35
|
.references(() => sqliteUsersTable.id, { onDelete: "cascade" }),
|
|
41
36
|
expires: integer("expires", { mode: "timestamp_ms" }).notNull(),
|
|
42
|
-
}
|
|
43
|
-
userIdIdx: index("Session_userId_index").on(table.userId),
|
|
44
|
-
}));
|
|
37
|
+
});
|
|
45
38
|
export const sqliteVerificationTokensTable = sqliteTable("verificationToken", {
|
|
46
39
|
identifier: text("identifier").notNull(),
|
|
47
|
-
token: text("token").notNull()
|
|
40
|
+
token: text("token").notNull(),
|
|
48
41
|
expires: integer("expires", { mode: "timestamp_ms" }).notNull(),
|
|
49
42
|
}, (vt) => ({
|
|
50
43
|
compositePk: primaryKey({ columns: [vt.identifier, vt.token] }),
|
|
@@ -58,7 +51,12 @@ export function SQLiteDrizzleAdapter(client, schema = {
|
|
|
58
51
|
const { usersTable, accountsTable, sessionsTable, verificationTokensTable } = schema;
|
|
59
52
|
return {
|
|
60
53
|
async createUser(data) {
|
|
61
|
-
|
|
54
|
+
const hasDefaultId = getTableColumns(usersTable)["id"]["hasDefault"];
|
|
55
|
+
return client
|
|
56
|
+
.insert(usersTable)
|
|
57
|
+
.values(hasDefaultId ? data : { ...data, id: crypto.randomUUID() })
|
|
58
|
+
.returning()
|
|
59
|
+
.get();
|
|
62
60
|
},
|
|
63
61
|
async getUser(userId) {
|
|
64
62
|
const result = await client
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import type { QueryResultHKT as MySQLQueryResultHKT, PreparedQueryHKTBase } from "drizzle-orm/mysql-core";
|
|
1
2
|
import { MySqlDatabase } from "drizzle-orm/mysql-core";
|
|
3
|
+
import type { QueryResultHKT as PostgresQueryResultHKT } from "drizzle-orm/pg-core";
|
|
2
4
|
import { PgDatabase } from "drizzle-orm/pg-core";
|
|
3
5
|
import { BaseSQLiteDatabase } from "drizzle-orm/sqlite-core";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { DefaultSQLiteSchema } from "./sqlite";
|
|
7
|
-
import { DefaultPostgresSchema } from "./pg";
|
|
8
|
-
import { DefaultMySqlSchema } from "./mysql";
|
|
6
|
+
import { DefaultMySqlSchema } from "./mysql.js";
|
|
7
|
+
import { DefaultPostgresSchema } from "./pg.js";
|
|
8
|
+
import { DefaultSQLiteSchema } from "./sqlite.js";
|
|
9
9
|
type AnyPostgresDatabase = PgDatabase<PostgresQueryResultHKT, any>;
|
|
10
10
|
type AnyMySqlDatabase = MySqlDatabase<MySQLQueryResultHKT, PreparedQueryHKTBase, any>;
|
|
11
11
|
type AnySQLiteDatabase = BaseSQLiteDatabase<"sync" | "async", any, any>;
|
|
12
12
|
export type SqlFlavorOptions = AnyPostgresDatabase | AnyMySqlDatabase | AnySQLiteDatabase;
|
|
13
|
-
export type DefaultSchema<Flavor> = Flavor extends AnyMySqlDatabase ? DefaultMySqlSchema : Flavor extends AnyPostgresDatabase ? DefaultPostgresSchema : Flavor extends AnySQLiteDatabase ? DefaultSQLiteSchema : never;
|
|
13
|
+
export type DefaultSchema<Flavor extends SqlFlavorOptions> = Flavor extends AnyMySqlDatabase ? DefaultMySqlSchema : Flavor extends AnyPostgresDatabase ? DefaultPostgresSchema : Flavor extends AnySQLiteDatabase ? DefaultSQLiteSchema : never;
|
|
14
14
|
export {};
|
|
15
15
|
//# sourceMappingURL=utils.d.ts.map
|
package/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,IAAI,mBAAmB,EACrC,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,mBAAmB,GAAG,UAAU,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;AAClE,KAAK,gBAAgB,GAAG,aAAa,CACnC,mBAAmB,EACnB,oBAAoB,EACpB,GAAG,CACJ,CAAA;AACD,KAAK,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEvE,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,CAAA;AAErB,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,gBAAgB,IACvD,MAAM,SAAS,gBAAgB,GAC3B,kBAAkB,GAClB,MAAM,SAAS,mBAAmB,GAChC,qBAAqB,GACrB,MAAM,SAAS,iBAAiB,GAC9B,mBAAmB,GACnB,KAAK,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auth/drizzle-adapter",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Drizzle adapter for Auth.js.",
|
|
5
5
|
"homepage": "https://authjs.dev",
|
|
6
6
|
"repository": "https://github.com/nextauthjs/next-auth",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/better-sqlite3": "^7.6.4",
|
|
44
44
|
"@types/uuid": "^8.3.3",
|
|
45
|
-
"better-sqlite3": "^
|
|
46
|
-
"drizzle-kit": "^0.20.
|
|
47
|
-
"drizzle-orm": "^0.30.
|
|
48
|
-
"mysql2": "^3.9.
|
|
49
|
-
"postgres": "^3.3
|
|
45
|
+
"better-sqlite3": "^9.4.0",
|
|
46
|
+
"drizzle-kit": "^0.20.17",
|
|
47
|
+
"drizzle-orm": "^0.30.8",
|
|
48
|
+
"mysql2": "^3.9.3",
|
|
49
|
+
"postgres": "^3.4.3",
|
|
50
50
|
"tsx": "^4.7.0"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|