@auth/drizzle-adapter 0.3.1 → 0.3.3

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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,EAIL,gBAAgB,EAChB,OAAO,EACR,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+NI;AACJ,wBAAgB,cAAc,CAAC,SAAS,SAAS,gBAAgB,EAC/D,EAAE,EAAE,SAAS,EACb,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACzB,OAAO,CAeT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAG1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+NI;AACJ,wBAAgB,cAAc,CAAC,SAAS,SAAS,gBAAgB,EAC/D,EAAE,EAAE,SAAS,EACb,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GACzB,OAAO,CAYT"}
package/index.js CHANGED
@@ -15,10 +15,13 @@
15
15
  *
16
16
  * @module @auth/drizzle-adapter
17
17
  */
18
+ import { MySqlDatabase } from "drizzle-orm/mysql-core";
19
+ import { PgDatabase } from "drizzle-orm/pg-core";
20
+ import { BaseSQLiteDatabase } from "drizzle-orm/sqlite-core";
18
21
  import { mySqlDrizzleAdapter } from "./lib/mysql.js";
19
22
  import { pgDrizzleAdapter } from "./lib/pg.js";
20
23
  import { SQLiteDrizzleAdapter } from "./lib/sqlite.js";
21
- import { isMySqlDatabase, isPgDatabase, isSQLiteDatabase, } from "./lib/utils.js";
24
+ import { is } from "drizzle-orm";
22
25
  /**
23
26
  * Add the adapter to your `pages/api/[...nextauth].ts` next-auth configuration object.
24
27
  *
@@ -244,15 +247,14 @@ import { isMySqlDatabase, isPgDatabase, isSQLiteDatabase, } from "./lib/utils.js
244
247
  *
245
248
  **/
246
249
  export function DrizzleAdapter(db, table) {
247
- if (isMySqlDatabase(db)) {
248
- // We need to cast to unknown since the type overlaps (PScale is MySQL based)
250
+ if (is(db, MySqlDatabase)) {
249
251
  return mySqlDrizzleAdapter(db, table);
250
252
  }
251
- if (isPgDatabase(db)) {
253
+ else if (is(db, PgDatabase)) {
252
254
  return pgDrizzleAdapter(db, table);
253
255
  }
254
- if (isSQLiteDatabase(db)) {
256
+ else if (is(db, BaseSQLiteDatabase)) {
255
257
  return SQLiteDrizzleAdapter(db, table);
256
258
  }
257
- throw new Error("Unsupported database type in Auth.js Drizzle adapter.");
259
+ throw new Error(`Unsupported database type (${typeof db}) in Auth.js Drizzle adapter.`);
258
260
  }
package/lib/mysql.d.ts CHANGED
@@ -1,226 +1,299 @@
1
- import { MySqlTableFn } from "drizzle-orm/mysql-core";
1
+ import { MySqlTableFn, MySqlDatabase } from "drizzle-orm/mysql-core";
2
2
  import type { Adapter } from "@auth/core/adapters";
3
- import type { MySql2Database } from "drizzle-orm/mysql2";
4
3
  export declare function createTables(mySqlTable: MySqlTableFn): {
5
- users: import("drizzle-orm/select.types.d-b947a018").aw<{
4
+ users: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
6
5
  name: "user";
7
6
  schema: undefined;
8
7
  columns: {
9
- id: import("drizzle-orm/mysql-core").MySqlVarChar<{
10
- tableName: "user";
11
- enumValues: [string, ...string[]];
8
+ id: import("drizzle-orm/mysql-core").MySqlColumn<{
12
9
  name: "id";
10
+ tableName: "user";
11
+ dataType: "string";
12
+ columnType: "MySqlVarChar";
13
13
  data: string;
14
14
  driverParam: string | number;
15
- hasDefault: false;
16
15
  notNull: true;
17
- }>;
18
- name: import("drizzle-orm/mysql-core").MySqlVarChar<{
19
- tableName: "user";
16
+ hasDefault: false;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ }, object>;
20
+ name: import("drizzle-orm/mysql-core").MySqlColumn<{
20
21
  name: "name";
22
+ tableName: "user";
23
+ dataType: "string";
24
+ columnType: "MySqlVarChar";
21
25
  data: string;
22
26
  driverParam: string | number;
23
- enumValues: [string, ...string[]];
24
27
  notNull: false;
25
28
  hasDefault: false;
26
- }>;
27
- email: import("drizzle-orm/mysql-core").MySqlVarChar<{
28
- tableName: "user";
29
29
  enumValues: [string, ...string[]];
30
+ baseColumn: never;
31
+ }, object>;
32
+ email: import("drizzle-orm/mysql-core").MySqlColumn<{
30
33
  name: "email";
34
+ tableName: "user";
35
+ dataType: "string";
36
+ columnType: "MySqlVarChar";
31
37
  data: string;
32
38
  driverParam: string | number;
33
- hasDefault: false;
34
39
  notNull: true;
35
- }>;
36
- emailVerified: import("drizzle-orm/mysql-core").MySqlTimestamp<{
37
- tableName: "user";
40
+ hasDefault: false;
41
+ enumValues: [string, ...string[]];
42
+ baseColumn: never;
43
+ }, object>;
44
+ emailVerified: import("drizzle-orm/mysql-core").MySqlColumn<{
38
45
  name: "emailVerified";
46
+ tableName: "user";
47
+ dataType: "date";
48
+ columnType: "MySqlTimestamp";
39
49
  data: Date;
40
50
  driverParam: string | number;
41
51
  notNull: false;
42
52
  hasDefault: true;
43
- }>;
44
- image: import("drizzle-orm/mysql-core").MySqlVarChar<{
45
- tableName: "user";
53
+ enumValues: undefined;
54
+ baseColumn: never;
55
+ }, object>;
56
+ image: import("drizzle-orm/mysql-core").MySqlColumn<{
46
57
  name: "image";
58
+ tableName: "user";
59
+ dataType: "string";
60
+ columnType: "MySqlVarChar";
47
61
  data: string;
48
62
  driverParam: string | number;
49
- enumValues: [string, ...string[]];
50
63
  notNull: false;
51
64
  hasDefault: false;
52
- }>;
65
+ enumValues: [string, ...string[]];
66
+ baseColumn: never;
67
+ }, object>;
53
68
  };
69
+ dialect: "mysql";
54
70
  }>;
55
- accounts: import("drizzle-orm/select.types.d-b947a018").aw<{
71
+ accounts: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
56
72
  name: "account";
57
73
  schema: undefined;
58
74
  columns: {
59
- userId: import("drizzle-orm/mysql-core").MySqlVarChar<{
60
- tableName: "account";
61
- enumValues: [string, ...string[]];
75
+ userId: import("drizzle-orm/mysql-core").MySqlColumn<{
62
76
  name: "userId";
77
+ tableName: "account";
78
+ dataType: "string";
79
+ columnType: "MySqlVarChar";
63
80
  data: string;
64
81
  driverParam: string | number;
65
- hasDefault: false;
66
82
  notNull: true;
67
- }>;
68
- type: import("drizzle-orm/mysql-core").MySqlVarChar<{
69
- tableName: "account";
83
+ hasDefault: false;
70
84
  enumValues: [string, ...string[]];
85
+ baseColumn: never;
86
+ }, object>;
87
+ type: import("drizzle-orm/mysql-core").MySqlColumn<{
71
88
  name: "type";
89
+ tableName: "account";
90
+ dataType: "string";
91
+ columnType: "MySqlVarChar";
72
92
  data: "email" | "oidc" | "oauth";
73
93
  driverParam: string | number;
74
- hasDefault: false;
75
94
  notNull: true;
76
- }>;
77
- provider: import("drizzle-orm/mysql-core").MySqlVarChar<{
78
- tableName: "account";
95
+ hasDefault: false;
79
96
  enumValues: [string, ...string[]];
97
+ baseColumn: never;
98
+ }, object>;
99
+ provider: import("drizzle-orm/mysql-core").MySqlColumn<{
80
100
  name: "provider";
101
+ tableName: "account";
102
+ dataType: "string";
103
+ columnType: "MySqlVarChar";
81
104
  data: string;
82
105
  driverParam: string | number;
83
- hasDefault: false;
84
106
  notNull: true;
85
- }>;
86
- providerAccountId: import("drizzle-orm/mysql-core").MySqlVarChar<{
87
- tableName: "account";
107
+ hasDefault: false;
88
108
  enumValues: [string, ...string[]];
109
+ baseColumn: never;
110
+ }, object>;
111
+ providerAccountId: import("drizzle-orm/mysql-core").MySqlColumn<{
89
112
  name: "providerAccountId";
113
+ tableName: "account";
114
+ dataType: "string";
115
+ columnType: "MySqlVarChar";
90
116
  data: string;
91
117
  driverParam: string | number;
92
- hasDefault: false;
93
118
  notNull: true;
94
- }>;
95
- refresh_token: import("drizzle-orm/mysql-core").MySqlVarChar<{
96
- tableName: "account";
119
+ hasDefault: false;
120
+ enumValues: [string, ...string[]];
121
+ baseColumn: never;
122
+ }, object>;
123
+ refresh_token: import("drizzle-orm/mysql-core").MySqlColumn<{
97
124
  name: "refresh_token";
125
+ tableName: "account";
126
+ dataType: "string";
127
+ columnType: "MySqlVarChar";
98
128
  data: string;
99
129
  driverParam: string | number;
100
- enumValues: [string, ...string[]];
101
130
  notNull: false;
102
131
  hasDefault: false;
103
- }>;
104
- access_token: import("drizzle-orm/mysql-core").MySqlVarChar<{
105
- tableName: "account";
132
+ enumValues: [string, ...string[]];
133
+ baseColumn: never;
134
+ }, object>;
135
+ access_token: import("drizzle-orm/mysql-core").MySqlColumn<{
106
136
  name: "access_token";
137
+ tableName: "account";
138
+ dataType: "string";
139
+ columnType: "MySqlVarChar";
107
140
  data: string;
108
141
  driverParam: string | number;
109
- enumValues: [string, ...string[]];
110
142
  notNull: false;
111
143
  hasDefault: false;
112
- }>;
113
- expires_at: import("drizzle-orm/mysql-core").MySqlInt<{
114
- tableName: "account";
144
+ enumValues: [string, ...string[]];
145
+ baseColumn: never;
146
+ }, object>;
147
+ expires_at: import("drizzle-orm/mysql-core").MySqlColumn<{
115
148
  name: "expires_at";
149
+ tableName: "account";
150
+ dataType: "number";
151
+ columnType: "MySqlInt";
116
152
  data: number;
117
153
  driverParam: string | number;
118
154
  notNull: false;
119
155
  hasDefault: false;
120
- }>;
121
- token_type: import("drizzle-orm/mysql-core").MySqlVarChar<{
122
- tableName: "account";
156
+ enumValues: undefined;
157
+ baseColumn: never;
158
+ }, object>;
159
+ token_type: import("drizzle-orm/mysql-core").MySqlColumn<{
123
160
  name: "token_type";
161
+ tableName: "account";
162
+ dataType: "string";
163
+ columnType: "MySqlVarChar";
124
164
  data: string;
125
165
  driverParam: string | number;
126
- enumValues: [string, ...string[]];
127
166
  notNull: false;
128
167
  hasDefault: false;
129
- }>;
130
- scope: import("drizzle-orm/mysql-core").MySqlVarChar<{
131
- tableName: "account";
168
+ enumValues: [string, ...string[]];
169
+ baseColumn: never;
170
+ }, object>;
171
+ scope: import("drizzle-orm/mysql-core").MySqlColumn<{
132
172
  name: "scope";
173
+ tableName: "account";
174
+ dataType: "string";
175
+ columnType: "MySqlVarChar";
133
176
  data: string;
134
177
  driverParam: string | number;
135
- enumValues: [string, ...string[]];
136
178
  notNull: false;
137
179
  hasDefault: false;
138
- }>;
139
- id_token: import("drizzle-orm/mysql-core").MySqlVarChar<{
140
- tableName: "account";
180
+ enumValues: [string, ...string[]];
181
+ baseColumn: never;
182
+ }, object>;
183
+ id_token: import("drizzle-orm/mysql-core").MySqlColumn<{
141
184
  name: "id_token";
185
+ tableName: "account";
186
+ dataType: "string";
187
+ columnType: "MySqlVarChar";
142
188
  data: string;
143
189
  driverParam: string | number;
144
- enumValues: [string, ...string[]];
145
190
  notNull: false;
146
191
  hasDefault: false;
147
- }>;
148
- session_state: import("drizzle-orm/mysql-core").MySqlVarChar<{
149
- tableName: "account";
192
+ enumValues: [string, ...string[]];
193
+ baseColumn: never;
194
+ }, object>;
195
+ session_state: import("drizzle-orm/mysql-core").MySqlColumn<{
150
196
  name: "session_state";
197
+ tableName: "account";
198
+ dataType: "string";
199
+ columnType: "MySqlVarChar";
151
200
  data: string;
152
201
  driverParam: string | number;
153
- enumValues: [string, ...string[]];
154
202
  notNull: false;
155
203
  hasDefault: false;
156
- }>;
204
+ enumValues: [string, ...string[]];
205
+ baseColumn: never;
206
+ }, object>;
157
207
  };
208
+ dialect: "mysql";
158
209
  }>;
159
- sessions: import("drizzle-orm/select.types.d-b947a018").aw<{
210
+ sessions: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
160
211
  name: "session";
161
212
  schema: undefined;
162
213
  columns: {
163
- sessionToken: import("drizzle-orm/mysql-core").MySqlVarChar<{
164
- tableName: "session";
165
- enumValues: [string, ...string[]];
214
+ sessionToken: import("drizzle-orm/mysql-core").MySqlColumn<{
166
215
  name: "sessionToken";
216
+ tableName: "session";
217
+ dataType: "string";
218
+ columnType: "MySqlVarChar";
167
219
  data: string;
168
220
  driverParam: string | number;
169
- hasDefault: false;
170
221
  notNull: true;
171
- }>;
172
- userId: import("drizzle-orm/mysql-core").MySqlVarChar<{
173
- tableName: "session";
222
+ hasDefault: false;
174
223
  enumValues: [string, ...string[]];
224
+ baseColumn: never;
225
+ }, object>;
226
+ userId: import("drizzle-orm/mysql-core").MySqlColumn<{
175
227
  name: "userId";
228
+ tableName: "session";
229
+ dataType: "string";
230
+ columnType: "MySqlVarChar";
176
231
  data: string;
177
232
  driverParam: string | number;
178
- hasDefault: false;
179
233
  notNull: true;
180
- }>;
181
- expires: import("drizzle-orm/mysql-core").MySqlTimestamp<{
182
- tableName: "session";
234
+ hasDefault: false;
235
+ enumValues: [string, ...string[]];
236
+ baseColumn: never;
237
+ }, object>;
238
+ expires: import("drizzle-orm/mysql-core").MySqlColumn<{
183
239
  name: "expires";
240
+ tableName: "session";
241
+ dataType: "date";
242
+ columnType: "MySqlTimestamp";
184
243
  data: Date;
185
244
  driverParam: string | number;
186
- hasDefault: false;
187
245
  notNull: true;
188
- }>;
246
+ hasDefault: false;
247
+ enumValues: undefined;
248
+ baseColumn: never;
249
+ }, object>;
189
250
  };
251
+ dialect: "mysql";
190
252
  }>;
191
- verificationTokens: import("drizzle-orm/select.types.d-b947a018").aw<{
253
+ verificationTokens: import("drizzle-orm/mysql-core").MySqlTableWithColumns<{
192
254
  name: "verificationToken";
193
255
  schema: undefined;
194
256
  columns: {
195
- identifier: import("drizzle-orm/mysql-core").MySqlVarChar<{
196
- tableName: "verificationToken";
197
- enumValues: [string, ...string[]];
257
+ identifier: import("drizzle-orm/mysql-core").MySqlColumn<{
198
258
  name: "identifier";
259
+ tableName: "verificationToken";
260
+ dataType: "string";
261
+ columnType: "MySqlVarChar";
199
262
  data: string;
200
263
  driverParam: string | number;
201
- hasDefault: false;
202
264
  notNull: true;
203
- }>;
204
- token: import("drizzle-orm/mysql-core").MySqlVarChar<{
205
- tableName: "verificationToken";
265
+ hasDefault: false;
206
266
  enumValues: [string, ...string[]];
267
+ baseColumn: never;
268
+ }, object>;
269
+ token: import("drizzle-orm/mysql-core").MySqlColumn<{
207
270
  name: "token";
271
+ tableName: "verificationToken";
272
+ dataType: "string";
273
+ columnType: "MySqlVarChar";
208
274
  data: string;
209
275
  driverParam: string | number;
210
- hasDefault: false;
211
276
  notNull: true;
212
- }>;
213
- expires: import("drizzle-orm/mysql-core").MySqlTimestamp<{
214
- tableName: "verificationToken";
277
+ hasDefault: false;
278
+ enumValues: [string, ...string[]];
279
+ baseColumn: never;
280
+ }, object>;
281
+ expires: import("drizzle-orm/mysql-core").MySqlColumn<{
215
282
  name: "expires";
283
+ tableName: "verificationToken";
284
+ dataType: "date";
285
+ columnType: "MySqlTimestamp";
216
286
  data: Date;
217
287
  driverParam: string | number;
218
- hasDefault: false;
219
288
  notNull: true;
220
- }>;
289
+ hasDefault: false;
290
+ enumValues: undefined;
291
+ baseColumn: never;
292
+ }, object>;
221
293
  };
294
+ dialect: "mysql";
222
295
  }>;
223
296
  };
224
297
  export type DefaultSchema = ReturnType<typeof createTables>;
225
- export declare function mySqlDrizzleAdapter(client: MySql2Database<Record<string, never>>, tableFn?: MySqlTableFn<undefined>): Adapter;
298
+ export declare function mySqlDrizzleAdapter(client: InstanceType<typeof MySqlDatabase>, tableFn?: MySqlTableFn<undefined>): Adapter;
226
299
  //# sourceMappingURL=mysql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../src/lib/mysql.ts"],"names":[],"mappings":"AACA,OAAO,EAML,YAAY,EACb,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,wBAAgB,YAAY,CAAC,UAAU,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DpD;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAE3D,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAC7C,OAAO,0BAAsB,GAC5B,OAAO,CAyLT"}
1
+ {"version":3,"file":"mysql.d.ts","sourceRoot":"","sources":["../src/lib/mysql.ts"],"names":[],"mappings":"AACA,OAAO,EAML,YAAY,EACZ,aAAa,EACd,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAA;AAElE,wBAAgB,YAAY,CAAC,UAAU,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DpD;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAE3D,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,EAC1C,OAAO,0BAAsB,GAC5B,OAAO,CAsLT"}
package/lib/mysql.js CHANGED
@@ -121,10 +121,7 @@ export function mySqlDrizzleAdapter(client, tableFn = defaultMySqlTableFn) {
121
121
  .then((res) => res[0]);
122
122
  },
123
123
  async linkAccount(rawAccount) {
124
- await client
125
- .insert(accounts)
126
- .values(rawAccount)
127
- .then((res) => res[0]);
124
+ await client.insert(accounts).values(rawAccount);
128
125
  },
129
126
  async getUserByAccount(account) {
130
127
  const dbAccount = (await client