@auth/drizzle-adapter 1.0.0 → 1.1.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/sqlite.d.ts CHANGED
@@ -1,320 +1,188 @@
1
- import { BaseSQLiteDatabase, TableConfig, SQLiteTableWithColumns } from "drizzle-orm/sqlite-core";
1
+ import { BaseSQLiteDatabase, SQLiteColumn, SQLiteTableWithColumns } from "drizzle-orm/sqlite-core";
2
2
  import type { Adapter } from "@auth/core/adapters";
3
- export declare const sqliteUsersTable: SQLiteTableWithColumns<{
3
+ export declare function defineTables(schema?: Partial<DefaultSQLiteSchema>): Required<DefaultSQLiteSchema>;
4
+ export declare function SQLiteDrizzleAdapter(client: BaseSQLiteDatabase<"sync" | "async", any, any>, schema?: DefaultSQLiteSchema): Adapter;
5
+ type DefaultSQLiteColumn<T extends {
6
+ data: string | number | Date;
7
+ dataType: "string" | "number" | "date";
8
+ notNull: boolean;
9
+ columnType: "SQLiteText" | "SQLiteTimestamp" | "SQLiteInteger";
10
+ }> = SQLiteColumn<{
11
+ name: string;
12
+ columnType: T["columnType"];
13
+ data: T["data"];
14
+ driverParam: string | number;
15
+ notNull: T["notNull"];
16
+ hasDefault: boolean;
17
+ enumValues: any;
18
+ dataType: T["dataType"];
19
+ tableName: string;
20
+ }>;
21
+ export type DefaultSQLiteUsersTable = SQLiteTableWithColumns<{
4
22
  name: string;
5
- schema: undefined;
6
23
  columns: {
7
- id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
8
- name: "id";
9
- tableName: string;
10
- dataType: "string";
24
+ id: DefaultSQLiteColumn<{
11
25
  columnType: "SQLiteText";
12
26
  data: string;
13
- driverParam: string;
14
27
  notNull: true;
15
- hasDefault: true;
16
- enumValues: [string, ...string[]];
17
- baseColumn: never;
18
- }, object>;
19
- name: import("drizzle-orm/sqlite-core").SQLiteColumn<{
20
- name: "name";
21
- tableName: string;
22
28
  dataType: "string";
29
+ }>;
30
+ name: DefaultSQLiteColumn<{
23
31
  columnType: "SQLiteText";
24
32
  data: string;
25
- driverParam: string;
26
- notNull: false;
27
- hasDefault: false;
28
- enumValues: [string, ...string[]];
29
- baseColumn: never;
30
- }, object>;
31
- email: import("drizzle-orm/sqlite-core").SQLiteColumn<{
32
- name: "email";
33
- tableName: string;
33
+ notNull: boolean;
34
34
  dataType: "string";
35
+ }>;
36
+ email: DefaultSQLiteColumn<{
35
37
  columnType: "SQLiteText";
36
38
  data: string;
37
- driverParam: string;
38
39
  notNull: true;
39
- hasDefault: false;
40
- enumValues: [string, ...string[]];
41
- baseColumn: never;
42
- }, object>;
43
- emailVerified: import("drizzle-orm/sqlite-core").SQLiteColumn<{
44
- name: "emailVerified";
45
- tableName: string;
40
+ dataType: "string";
41
+ }>;
42
+ emailVerified: DefaultSQLiteColumn<{
46
43
  dataType: "date";
47
44
  columnType: "SQLiteTimestamp";
48
45
  data: Date;
49
- driverParam: number;
50
- notNull: false;
51
- hasDefault: false;
52
- enumValues: undefined;
53
- baseColumn: never;
54
- }, object>;
55
- image: import("drizzle-orm/sqlite-core").SQLiteColumn<{
56
- name: "image";
57
- tableName: string;
46
+ notNull: boolean;
47
+ }>;
48
+ image: DefaultSQLiteColumn<{
58
49
  dataType: "string";
59
50
  columnType: "SQLiteText";
60
51
  data: string;
61
- driverParam: string;
62
- notNull: false;
63
- hasDefault: false;
64
- enumValues: [string, ...string[]];
65
- baseColumn: never;
66
- }, object>;
52
+ notNull: boolean;
53
+ }>;
67
54
  };
68
55
  dialect: "sqlite";
56
+ schema: string | undefined;
69
57
  }>;
70
- export declare const sqliteAccountsTable: SQLiteTableWithColumns<{
58
+ export type DefaultSQLiteAccountsTable = SQLiteTableWithColumns<{
71
59
  name: string;
72
- schema: undefined;
73
60
  columns: {
74
- userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
75
- name: "userId";
76
- tableName: string;
77
- dataType: "string";
61
+ userId: DefaultSQLiteColumn<{
78
62
  columnType: "SQLiteText";
79
63
  data: string;
80
- driverParam: string;
81
64
  notNull: true;
82
- hasDefault: false;
83
- enumValues: [string, ...string[]];
84
- baseColumn: never;
85
- }, object>;
86
- type: import("drizzle-orm/sqlite-core").SQLiteColumn<{
87
- name: "type";
88
- tableName: string;
89
65
  dataType: "string";
66
+ }>;
67
+ type: DefaultSQLiteColumn<{
90
68
  columnType: "SQLiteText";
91
69
  data: string;
92
- driverParam: string;
93
70
  notNull: true;
94
- hasDefault: false;
95
- enumValues: [string, ...string[]];
96
- baseColumn: never;
97
- }, object>;
98
- provider: import("drizzle-orm/sqlite-core").SQLiteColumn<{
99
- name: "provider";
100
- tableName: string;
101
71
  dataType: "string";
72
+ }>;
73
+ provider: DefaultSQLiteColumn<{
102
74
  columnType: "SQLiteText";
103
75
  data: string;
104
- driverParam: string;
105
76
  notNull: true;
106
- hasDefault: false;
107
- enumValues: [string, ...string[]];
108
- baseColumn: never;
109
- }, object>;
110
- providerAccountId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
111
- name: "providerAccountId";
112
- tableName: string;
77
+ dataType: "string";
78
+ }>;
79
+ providerAccountId: DefaultSQLiteColumn<{
113
80
  dataType: "string";
114
81
  columnType: "SQLiteText";
115
82
  data: string;
116
- driverParam: string;
117
83
  notNull: true;
118
- hasDefault: false;
119
- enumValues: [string, ...string[]];
120
- baseColumn: never;
121
- }, object>;
122
- refresh_token: import("drizzle-orm/sqlite-core").SQLiteColumn<{
123
- name: "refresh_token";
124
- tableName: string;
84
+ }>;
85
+ refresh_token: DefaultSQLiteColumn<{
125
86
  dataType: "string";
126
87
  columnType: "SQLiteText";
127
88
  data: string;
128
- driverParam: string;
129
- notNull: false;
130
- hasDefault: false;
131
- enumValues: [string, ...string[]];
132
- baseColumn: never;
133
- }, object>;
134
- access_token: import("drizzle-orm/sqlite-core").SQLiteColumn<{
135
- name: "access_token";
136
- tableName: string;
89
+ notNull: boolean;
90
+ }>;
91
+ access_token: DefaultSQLiteColumn<{
137
92
  dataType: "string";
138
93
  columnType: "SQLiteText";
139
94
  data: string;
140
- driverParam: string;
141
- notNull: false;
142
- hasDefault: false;
143
- enumValues: [string, ...string[]];
144
- baseColumn: never;
145
- }, object>;
146
- expires_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
147
- name: "expires_at";
148
- tableName: string;
95
+ notNull: boolean;
96
+ }>;
97
+ expires_at: DefaultSQLiteColumn<{
149
98
  dataType: "number";
150
99
  columnType: "SQLiteInteger";
151
100
  data: number;
152
- driverParam: number;
153
- notNull: false;
154
- hasDefault: false;
155
- enumValues: undefined;
156
- baseColumn: never;
157
- }, object>;
158
- token_type: import("drizzle-orm/sqlite-core").SQLiteColumn<{
159
- name: "token_type";
160
- tableName: string;
101
+ notNull: boolean;
102
+ }>;
103
+ token_type: DefaultSQLiteColumn<{
161
104
  dataType: "string";
162
105
  columnType: "SQLiteText";
163
106
  data: string;
164
- driverParam: string;
165
- notNull: false;
166
- hasDefault: false;
167
- enumValues: [string, ...string[]];
168
- baseColumn: never;
169
- }, object>;
170
- scope: import("drizzle-orm/sqlite-core").SQLiteColumn<{
171
- name: "scope";
172
- tableName: string;
107
+ notNull: boolean;
108
+ }>;
109
+ scope: DefaultSQLiteColumn<{
173
110
  dataType: "string";
174
111
  columnType: "SQLiteText";
175
112
  data: string;
176
- driverParam: string;
177
- notNull: false;
178
- hasDefault: false;
179
- enumValues: [string, ...string[]];
180
- baseColumn: never;
181
- }, object>;
182
- id_token: import("drizzle-orm/sqlite-core").SQLiteColumn<{
183
- name: "id_token";
184
- tableName: string;
113
+ notNull: boolean;
114
+ }>;
115
+ id_token: DefaultSQLiteColumn<{
185
116
  dataType: "string";
186
117
  columnType: "SQLiteText";
187
118
  data: string;
188
- driverParam: string;
189
- notNull: false;
190
- hasDefault: false;
191
- enumValues: [string, ...string[]];
192
- baseColumn: never;
193
- }, object>;
194
- session_state: import("drizzle-orm/sqlite-core").SQLiteColumn<{
195
- name: "session_state";
196
- tableName: string;
119
+ notNull: boolean;
120
+ }>;
121
+ session_state: DefaultSQLiteColumn<{
197
122
  dataType: "string";
198
123
  columnType: "SQLiteText";
199
124
  data: string;
200
- driverParam: string;
201
- notNull: false;
202
- hasDefault: false;
203
- enumValues: [string, ...string[]];
204
- baseColumn: never;
205
- }, object>;
125
+ notNull: boolean;
126
+ }>;
206
127
  };
207
128
  dialect: "sqlite";
129
+ schema: string | undefined;
208
130
  }>;
209
- export declare const sqliteSessionsTable: SQLiteTableWithColumns<{
131
+ export type DefaultSQLiteSessionsTable = SQLiteTableWithColumns<{
210
132
  name: string;
211
- schema: undefined;
212
133
  columns: {
213
- id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
214
- name: "id";
215
- tableName: string;
216
- dataType: "string";
134
+ sessionToken: DefaultSQLiteColumn<{
217
135
  columnType: "SQLiteText";
218
136
  data: string;
219
- driverParam: string;
220
137
  notNull: true;
221
- hasDefault: true;
222
- enumValues: [string, ...string[]];
223
- baseColumn: never;
224
- }, object>;
225
- sessionToken: import("drizzle-orm/sqlite-core").SQLiteColumn<{
226
- name: "sessionToken";
227
- tableName: string;
228
138
  dataType: "string";
139
+ }>;
140
+ userId: DefaultSQLiteColumn<{
229
141
  columnType: "SQLiteText";
230
142
  data: string;
231
- driverParam: string;
232
143
  notNull: true;
233
- hasDefault: false;
234
- enumValues: [string, ...string[]];
235
- baseColumn: never;
236
- }, object>;
237
- userId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
238
- name: "userId";
239
- tableName: string;
240
144
  dataType: "string";
241
- columnType: "SQLiteText";
242
- data: string;
243
- driverParam: string;
244
- notNull: true;
245
- hasDefault: false;
246
- enumValues: [string, ...string[]];
247
- baseColumn: never;
248
- }, object>;
249
- expires: import("drizzle-orm/sqlite-core").SQLiteColumn<{
250
- name: "expires";
251
- tableName: string;
145
+ }>;
146
+ expires: DefaultSQLiteColumn<{
252
147
  dataType: "date";
253
148
  columnType: "SQLiteTimestamp";
254
149
  data: Date;
255
- driverParam: number;
256
150
  notNull: true;
257
- hasDefault: false;
258
- enumValues: undefined;
259
- baseColumn: never;
260
- }, object>;
151
+ }>;
261
152
  };
262
153
  dialect: "sqlite";
154
+ schema: string | undefined;
263
155
  }>;
264
- export declare const sqliteVerificationTokensTable: SQLiteTableWithColumns<{
156
+ export type DefaultSQLiteVerificationTokenTable = SQLiteTableWithColumns<{
265
157
  name: string;
266
- schema: undefined;
267
158
  columns: {
268
- identifier: import("drizzle-orm/sqlite-core").SQLiteColumn<{
269
- name: "identifier";
270
- tableName: string;
271
- dataType: "string";
159
+ identifier: DefaultSQLiteColumn<{
272
160
  columnType: "SQLiteText";
273
161
  data: string;
274
- driverParam: string;
275
162
  notNull: true;
276
- hasDefault: false;
277
- enumValues: [string, ...string[]];
278
- baseColumn: never;
279
- }, object>;
280
- token: import("drizzle-orm/sqlite-core").SQLiteColumn<{
281
- name: "token";
282
- tableName: string;
283
163
  dataType: "string";
164
+ }>;
165
+ token: DefaultSQLiteColumn<{
284
166
  columnType: "SQLiteText";
285
167
  data: string;
286
- driverParam: string;
287
168
  notNull: true;
288
- hasDefault: false;
289
- enumValues: [string, ...string[]];
290
- baseColumn: never;
291
- }, object>;
292
- expires: import("drizzle-orm/sqlite-core").SQLiteColumn<{
293
- name: "expires";
294
- tableName: string;
169
+ dataType: "string";
170
+ }>;
171
+ expires: DefaultSQLiteColumn<{
295
172
  dataType: "date";
296
173
  columnType: "SQLiteTimestamp";
297
174
  data: Date;
298
- driverParam: number;
299
175
  notNull: true;
300
- hasDefault: false;
301
- enumValues: undefined;
302
- baseColumn: never;
303
- }, object>;
176
+ }>;
304
177
  };
305
178
  dialect: "sqlite";
306
- }>;
307
- export declare function SQLiteDrizzleAdapter(client: BaseSQLiteDatabase<"sync" | "async", any, any>, schema?: DefaultSQLiteSchema): Adapter;
308
- export type SQLiteTableFn<T extends TableConfig> = SQLiteTableWithColumns<{
309
- name: T["name"];
310
- columns: T["columns"];
311
- dialect: T["dialect"];
312
179
  schema: string | undefined;
313
180
  }>;
314
181
  export type DefaultSQLiteSchema = {
315
- usersTable: SQLiteTableFn<(typeof sqliteUsersTable)["_"]["config"]>;
316
- accountsTable: SQLiteTableFn<(typeof sqliteAccountsTable)["_"]["config"]>;
317
- sessionsTable: SQLiteTableFn<(typeof sqliteSessionsTable)["_"]["config"]>;
318
- verificationTokensTable: SQLiteTableFn<(typeof sqliteVerificationTokensTable)["_"]["config"]>;
182
+ usersTable: DefaultSQLiteUsersTable;
183
+ accountsTable: DefaultSQLiteAccountsTable;
184
+ sessionsTable?: DefaultSQLiteSessionsTable;
185
+ verificationTokensTable?: DefaultSQLiteVerificationTokenTable;
319
186
  };
187
+ export {};
320
188
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/lib/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,kBAAkB,EAGlB,WAAW,EACX,sBAAsB,EACvB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EACV,OAAO,EAKR,MAAM,qBAAqB,CAAA;AAG5B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ3B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB/B,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe/B,CAAA;AAED,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUzC,CAAA;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,CAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EACtD,MAAM,GAAE,mBAKP,GACA,OAAO,CA+IT;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,IAAI,sBAAsB,CAAC;IACxE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACf,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;IACrB,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,CAAC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,aAAa,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnE,aAAa,EAAE,aAAa,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzE,aAAa,EAAE,aAAa,CAAC,CAAC,OAAO,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzE,uBAAuB,EAAE,aAAa,CACpC,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CACtD,CAAA;CACF,CAAA"}
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,64 +1,70 @@
1
- import { eq, and } from "drizzle-orm";
2
- import { integer, text, primaryKey, sqliteTable, index, } from "drizzle-orm/sqlite-core";
3
- import { randomUUID } from "crypto";
4
- export const sqliteUsersTable = sqliteTable("user", {
5
- id: text("id")
6
- .primaryKey()
7
- .$defaultFn(() => randomUUID()),
8
- name: text("name"),
9
- email: text("email").notNull().unique(),
10
- emailVerified: integer("emailVerified", { mode: "timestamp_ms" }),
11
- image: text("image"),
12
- });
13
- export const sqliteAccountsTable = sqliteTable("account", {
14
- userId: text("userId")
15
- .notNull()
16
- .references(() => sqliteUsersTable.id, { onDelete: "cascade" }),
17
- type: text("type").notNull(),
18
- provider: text("provider").notNull(),
19
- providerAccountId: text("providerAccountId").notNull(),
20
- refresh_token: text("refresh_token"),
21
- access_token: text("access_token"),
22
- expires_at: integer("expires_at"),
23
- token_type: text("token_type"),
24
- scope: text("scope"),
25
- id_token: text("id_token"),
26
- session_state: text("session_state"),
27
- }, (account) => ({
28
- userIdIdx: index("Account_userId_index").on(account.userId),
29
- compositePk: primaryKey({
30
- columns: [account.provider, account.providerAccountId],
31
- }),
32
- }));
33
- export const sqliteSessionsTable = sqliteTable("session", {
34
- id: text("id")
35
- .primaryKey()
36
- .$defaultFn(() => randomUUID()),
37
- sessionToken: text("sessionToken").notNull().unique(),
38
- userId: text("userId")
39
- .notNull()
40
- .references(() => sqliteUsersTable.id, { onDelete: "cascade" }),
41
- expires: integer("expires", { mode: "timestamp_ms" }).notNull(),
42
- }, (table) => ({
43
- userIdIdx: index("Session_userId_index").on(table.userId),
44
- }));
45
- export const sqliteVerificationTokensTable = sqliteTable("verificationToken", {
46
- identifier: text("identifier").notNull(),
47
- token: text("token").notNull().unique(),
48
- expires: integer("expires", { mode: "timestamp_ms" }).notNull(),
49
- }, (vt) => ({
50
- compositePk: primaryKey({ columns: [vt.identifier, vt.token] }),
51
- }));
52
- export function SQLiteDrizzleAdapter(client, schema = {
53
- usersTable: sqliteUsersTable,
54
- accountsTable: sqliteAccountsTable,
55
- sessionsTable: sqliteSessionsTable,
56
- verificationTokensTable: sqliteVerificationTokensTable,
57
- }) {
58
- const { usersTable, accountsTable, sessionsTable, verificationTokensTable } = schema;
1
+ import { and, eq, getTableColumns } from "drizzle-orm";
2
+ import { integer, primaryKey, sqliteTable, text, } from "drizzle-orm/sqlite-core";
3
+ export function defineTables(schema = {}) {
4
+ const usersTable = schema.usersTable ??
5
+ (sqliteTable("user", {
6
+ id: text("id")
7
+ .primaryKey()
8
+ .$defaultFn(() => crypto.randomUUID()),
9
+ name: text("name"),
10
+ email: text("email").notNull(),
11
+ emailVerified: integer("emailVerified", { mode: "timestamp_ms" }),
12
+ image: text("image"),
13
+ }));
14
+ const accountsTable = schema.accountsTable ??
15
+ (sqliteTable("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
+ (sqliteTable("session", {
36
+ sessionToken: text("sessionToken").primaryKey(),
37
+ userId: text("userId")
38
+ .notNull()
39
+ .references(() => usersTable.id, { onDelete: "cascade" }),
40
+ expires: integer("expires", { mode: "timestamp_ms" }).notNull(),
41
+ }));
42
+ const verificationTokensTable = schema.verificationTokensTable ??
43
+ (sqliteTable("verificationToken", {
44
+ identifier: text("identifier").notNull(),
45
+ token: text("token").notNull(),
46
+ expires: integer("expires", { mode: "timestamp_ms" }).notNull(),
47
+ }, (vt) => ({
48
+ compositePk: primaryKey({ columns: [vt.identifier, vt.token] }),
49
+ })));
50
+ return {
51
+ usersTable,
52
+ accountsTable,
53
+ sessionsTable,
54
+ verificationTokensTable,
55
+ };
56
+ }
57
+ export function SQLiteDrizzleAdapter(client, schema) {
58
+ const { usersTable, accountsTable, sessionsTable, verificationTokensTable } = defineTables(schema);
59
59
  return {
60
60
  async createUser(data) {
61
- return client.insert(usersTable).values(data).returning().get();
61
+ const { id, ...insertData } = data;
62
+ const hasDefaultId = getTableColumns(usersTable)["id"]["hasDefault"];
63
+ return client
64
+ .insert(usersTable)
65
+ .values(hasDefaultId ? insertData : { ...insertData, id })
66
+ .returning()
67
+ .get();
62
68
  },
63
69
  async getUser(userId) {
64
70
  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 type { QueryResultHKT as MySQLQueryResultHKT, PreparedQueryHKTBase } from "drizzle-orm/mysql-core";
5
- import type { QueryResultHKT as PostgresQueryResultHKT } from "drizzle-orm/pg-core";
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
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EACV,cAAc,IAAI,mBAAmB,EACrC,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,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,IAAI,MAAM,SAAS,gBAAgB,GAC/D,kBAAkB,GAClB,MAAM,SAAS,mBAAmB,GAChC,qBAAqB,GACrB,MAAM,SAAS,iBAAiB,GAC9B,mBAAmB,GACnB,KAAK,CAAA"}
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.0",
3
+ "version": "1.1.0",
4
4
  "description": "Drizzle adapter for Auth.js.",
5
5
  "homepage": "https://authjs.dev",
6
6
  "repository": "https://github.com/nextauthjs/next-auth",
@@ -37,16 +37,15 @@
37
37
  "access": "public"
38
38
  },
39
39
  "dependencies": {
40
- "@auth/core": "0.30.0"
40
+ "@auth/core": "0.31.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@types/better-sqlite3": "^7.6.4",
44
43
  "@types/uuid": "^8.3.3",
45
- "better-sqlite3": "^8.6.0",
46
- "drizzle-kit": "^0.20.14",
47
- "drizzle-orm": "^0.30.5",
48
- "mysql2": "^3.9.4",
49
- "postgres": "^3.3.4",
44
+ "drizzle-kit": "^0.20.17",
45
+ "drizzle-orm": "^0.30.9",
46
+ "libsql": "^0.3.18",
47
+ "mysql2": "^3.9.7",
48
+ "postgres": "^3.4.3",
50
49
  "tsx": "^4.7.0"
51
50
  },
52
51
  "scripts": {