@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/pg.d.ts CHANGED
@@ -1,320 +1,188 @@
1
- import { PgDatabase, PgTableWithColumns, QueryResultHKT, TableConfig } from "drizzle-orm/pg-core";
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<{
3
+ export declare function defineTables(schema?: Partial<DefaultPostgresSchema>): Required<DefaultPostgresSchema>;
4
+ export declare function PostgresDrizzleAdapter(client: PgDatabase<QueryResultHKT, any>, schema?: DefaultPostgresSchema): Adapter;
5
+ type DefaultPostgresColumn<T extends {
6
+ data: string | number | Date;
7
+ dataType: "string" | "number" | "date";
8
+ notNull: boolean;
9
+ columnType: "PgVarchar" | "PgText" | "PgTimestamp" | "PgInteger" | "PgUUID";
10
+ }> = PgColumn<{
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 DefaultPostgresUsersTable = PgTableWithColumns<{
4
22
  name: string;
5
- schema: undefined;
6
23
  columns: {
7
- id: import("drizzle-orm/pg-core").PgColumn<{
8
- name: "id";
9
- tableName: string;
10
- dataType: "string";
11
- columnType: "PgText";
24
+ id: DefaultPostgresColumn<{
25
+ columnType: "PgVarchar" | "PgText" | "PgUUID";
12
26
  data: string;
13
- driverParam: string;
14
27
  notNull: true;
15
- hasDefault: true;
16
- enumValues: [string, ...string[]];
17
- baseColumn: never;
18
- }, {}, {}>;
19
- name: import("drizzle-orm/pg-core").PgColumn<{
20
- name: "name";
21
- tableName: string;
22
28
  dataType: "string";
23
- columnType: "PgText";
29
+ }>;
30
+ name: DefaultPostgresColumn<{
31
+ columnType: "PgVarchar" | "PgText";
24
32
  data: string;
25
- driverParam: string;
26
- notNull: false;
27
- hasDefault: false;
28
- enumValues: [string, ...string[]];
29
- baseColumn: never;
30
- }, {}, {}>;
31
- email: import("drizzle-orm/pg-core").PgColumn<{
32
- name: "email";
33
- tableName: string;
33
+ notNull: boolean;
34
34
  dataType: "string";
35
- columnType: "PgText";
35
+ }>;
36
+ email: DefaultPostgresColumn<{
37
+ columnType: "PgVarchar" | "PgText";
36
38
  data: string;
37
- driverParam: string;
38
39
  notNull: true;
39
- hasDefault: false;
40
- enumValues: [string, ...string[]];
41
- baseColumn: never;
42
- }, {}, {}>;
43
- emailVerified: import("drizzle-orm/pg-core").PgColumn<{
44
- name: "emailVerified";
45
- tableName: string;
40
+ dataType: "string";
41
+ }>;
42
+ emailVerified: DefaultPostgresColumn<{
46
43
  dataType: "date";
47
44
  columnType: "PgTimestamp";
48
45
  data: Date;
49
- driverParam: string;
50
- notNull: false;
51
- hasDefault: false;
52
- enumValues: undefined;
53
- baseColumn: never;
54
- }, {}, {}>;
55
- image: import("drizzle-orm/pg-core").PgColumn<{
56
- name: "image";
57
- tableName: string;
46
+ notNull: boolean;
47
+ }>;
48
+ image: DefaultPostgresColumn<{
58
49
  dataType: "string";
59
- columnType: "PgText";
50
+ columnType: "PgVarchar" | "PgText";
60
51
  data: string;
61
- driverParam: string;
62
- notNull: false;
63
- hasDefault: false;
64
- enumValues: [string, ...string[]];
65
- baseColumn: never;
66
- }, {}, {}>;
52
+ notNull: boolean;
53
+ }>;
67
54
  };
68
55
  dialect: "pg";
56
+ schema: string | undefined;
69
57
  }>;
70
- export declare const postgresAccountsTable: PgTableWithColumns<{
58
+ export type DefaultPostgresAccountsTable = PgTableWithColumns<{
71
59
  name: string;
72
- schema: undefined;
73
60
  columns: {
74
- userId: import("drizzle-orm/pg-core").PgColumn<{
75
- name: "userId";
76
- tableName: string;
77
- dataType: "string";
78
- columnType: "PgText";
61
+ userId: DefaultPostgresColumn<{
62
+ columnType: "PgVarchar" | "PgText" | "PgUUID";
79
63
  data: string;
80
- driverParam: string;
81
64
  notNull: true;
82
- hasDefault: false;
83
- enumValues: [string, ...string[]];
84
- baseColumn: never;
85
- }, {}, {}>;
86
- type: import("drizzle-orm/pg-core").PgColumn<{
87
- name: "type";
88
- tableName: string;
89
65
  dataType: "string";
90
- columnType: "PgText";
66
+ }>;
67
+ type: DefaultPostgresColumn<{
68
+ columnType: "PgVarchar" | "PgText";
91
69
  data: string;
92
- driverParam: string;
93
70
  notNull: true;
94
- hasDefault: false;
95
- enumValues: [string, ...string[]];
96
- baseColumn: never;
97
- }, {}, {}>;
98
- provider: import("drizzle-orm/pg-core").PgColumn<{
99
- name: "provider";
100
- tableName: string;
101
71
  dataType: "string";
102
- columnType: "PgText";
72
+ }>;
73
+ provider: DefaultPostgresColumn<{
74
+ columnType: "PgVarchar" | "PgText";
103
75
  data: string;
104
- driverParam: string;
105
76
  notNull: true;
106
- hasDefault: false;
107
- enumValues: [string, ...string[]];
108
- baseColumn: never;
109
- }, {}, {}>;
110
- providerAccountId: import("drizzle-orm/pg-core").PgColumn<{
111
- name: "providerAccountId";
112
- tableName: string;
113
77
  dataType: "string";
114
- columnType: "PgText";
78
+ }>;
79
+ providerAccountId: DefaultPostgresColumn<{
80
+ dataType: "string";
81
+ columnType: "PgVarchar" | "PgText";
115
82
  data: string;
116
- driverParam: string;
117
83
  notNull: true;
118
- hasDefault: false;
119
- enumValues: [string, ...string[]];
120
- baseColumn: never;
121
- }, {}, {}>;
122
- refresh_token: import("drizzle-orm/pg-core").PgColumn<{
123
- name: "refresh_token";
124
- tableName: string;
84
+ }>;
85
+ refresh_token: DefaultPostgresColumn<{
125
86
  dataType: "string";
126
- columnType: "PgText";
87
+ columnType: "PgVarchar" | "PgText";
127
88
  data: string;
128
- driverParam: string;
129
- notNull: false;
130
- hasDefault: false;
131
- enumValues: [string, ...string[]];
132
- baseColumn: never;
133
- }, {}, {}>;
134
- access_token: import("drizzle-orm/pg-core").PgColumn<{
135
- name: "access_token";
136
- tableName: string;
89
+ notNull: boolean;
90
+ }>;
91
+ access_token: DefaultPostgresColumn<{
137
92
  dataType: "string";
138
- columnType: "PgText";
93
+ columnType: "PgVarchar" | "PgText";
139
94
  data: string;
140
- driverParam: string;
141
- notNull: false;
142
- hasDefault: false;
143
- enumValues: [string, ...string[]];
144
- baseColumn: never;
145
- }, {}, {}>;
146
- expires_at: import("drizzle-orm/pg-core").PgColumn<{
147
- name: "expires_at";
148
- tableName: string;
95
+ notNull: boolean;
96
+ }>;
97
+ expires_at: DefaultPostgresColumn<{
149
98
  dataType: "number";
150
99
  columnType: "PgInteger";
151
100
  data: number;
152
- driverParam: string | number;
153
- notNull: false;
154
- hasDefault: false;
155
- enumValues: undefined;
156
- baseColumn: never;
157
- }, {}, {}>;
158
- token_type: import("drizzle-orm/pg-core").PgColumn<{
159
- name: "token_type";
160
- tableName: string;
101
+ notNull: boolean;
102
+ }>;
103
+ token_type: DefaultPostgresColumn<{
161
104
  dataType: "string";
162
- columnType: "PgText";
105
+ columnType: "PgVarchar" | "PgText";
163
106
  data: string;
164
- driverParam: string;
165
- notNull: false;
166
- hasDefault: false;
167
- enumValues: [string, ...string[]];
168
- baseColumn: never;
169
- }, {}, {}>;
170
- scope: import("drizzle-orm/pg-core").PgColumn<{
171
- name: "scope";
172
- tableName: string;
107
+ notNull: boolean;
108
+ }>;
109
+ scope: DefaultPostgresColumn<{
173
110
  dataType: "string";
174
- columnType: "PgText";
111
+ columnType: "PgVarchar" | "PgText";
175
112
  data: string;
176
- driverParam: string;
177
- notNull: false;
178
- hasDefault: false;
179
- enumValues: [string, ...string[]];
180
- baseColumn: never;
181
- }, {}, {}>;
182
- id_token: import("drizzle-orm/pg-core").PgColumn<{
183
- name: "id_token";
184
- tableName: string;
113
+ notNull: boolean;
114
+ }>;
115
+ id_token: DefaultPostgresColumn<{
185
116
  dataType: "string";
186
- columnType: "PgText";
117
+ columnType: "PgVarchar" | "PgText";
187
118
  data: string;
188
- driverParam: string;
189
- notNull: false;
190
- hasDefault: false;
191
- enumValues: [string, ...string[]];
192
- baseColumn: never;
193
- }, {}, {}>;
194
- session_state: import("drizzle-orm/pg-core").PgColumn<{
195
- name: "session_state";
196
- tableName: string;
119
+ notNull: boolean;
120
+ }>;
121
+ session_state: DefaultPostgresColumn<{
197
122
  dataType: "string";
198
- columnType: "PgText";
123
+ columnType: "PgVarchar" | "PgText";
199
124
  data: string;
200
- driverParam: string;
201
- notNull: false;
202
- hasDefault: false;
203
- enumValues: [string, ...string[]];
204
- baseColumn: never;
205
- }, {}, {}>;
125
+ notNull: boolean;
126
+ }>;
206
127
  };
207
128
  dialect: "pg";
129
+ schema: string | undefined;
208
130
  }>;
209
- export declare const postgresSessionsTable: PgTableWithColumns<{
131
+ export type DefaultPostgresSessionsTable = PgTableWithColumns<{
210
132
  name: string;
211
- schema: undefined;
212
133
  columns: {
213
- id: import("drizzle-orm/pg-core").PgColumn<{
214
- name: "id";
215
- tableName: string;
216
- dataType: "string";
217
- columnType: "PgText";
134
+ sessionToken: DefaultPostgresColumn<{
135
+ columnType: "PgVarchar" | "PgText";
218
136
  data: string;
219
- driverParam: string;
220
137
  notNull: true;
221
- hasDefault: true;
222
- enumValues: [string, ...string[]];
223
- baseColumn: never;
224
- }, {}, {}>;
225
- sessionToken: import("drizzle-orm/pg-core").PgColumn<{
226
- name: "sessionToken";
227
- tableName: string;
228
138
  dataType: "string";
229
- columnType: "PgText";
139
+ }>;
140
+ userId: DefaultPostgresColumn<{
141
+ columnType: "PgVarchar" | "PgText" | "PgUUID";
230
142
  data: string;
231
- driverParam: string;
232
143
  notNull: true;
233
- hasDefault: false;
234
- enumValues: [string, ...string[]];
235
- baseColumn: never;
236
- }, {}, {}>;
237
- userId: import("drizzle-orm/pg-core").PgColumn<{
238
- name: "userId";
239
- tableName: string;
240
144
  dataType: "string";
241
- columnType: "PgText";
242
- data: string;
243
- driverParam: string;
244
- notNull: true;
245
- hasDefault: false;
246
- enumValues: [string, ...string[]];
247
- baseColumn: never;
248
- }, {}, {}>;
249
- expires: import("drizzle-orm/pg-core").PgColumn<{
250
- name: "expires";
251
- tableName: string;
145
+ }>;
146
+ expires: DefaultPostgresColumn<{
252
147
  dataType: "date";
253
148
  columnType: "PgTimestamp";
254
149
  data: Date;
255
- driverParam: string;
256
150
  notNull: true;
257
- hasDefault: false;
258
- enumValues: undefined;
259
- baseColumn: never;
260
- }, {}, {}>;
151
+ }>;
261
152
  };
262
153
  dialect: "pg";
154
+ schema: string | undefined;
263
155
  }>;
264
- export declare const postgresVerificationTokensTable: PgTableWithColumns<{
156
+ export type DefaultPostgresVerificationTokenTable = PgTableWithColumns<{
265
157
  name: string;
266
- schema: undefined;
267
158
  columns: {
268
- identifier: import("drizzle-orm/pg-core").PgColumn<{
269
- name: "identifier";
270
- tableName: string;
271
- dataType: "string";
272
- columnType: "PgText";
159
+ identifier: DefaultPostgresColumn<{
160
+ columnType: "PgVarchar" | "PgText";
273
161
  data: string;
274
- driverParam: string;
275
162
  notNull: true;
276
- hasDefault: false;
277
- enumValues: [string, ...string[]];
278
- baseColumn: never;
279
- }, {}, {}>;
280
- token: import("drizzle-orm/pg-core").PgColumn<{
281
- name: "token";
282
- tableName: string;
283
163
  dataType: "string";
284
- columnType: "PgText";
164
+ }>;
165
+ token: DefaultPostgresColumn<{
166
+ columnType: "PgVarchar" | "PgText";
285
167
  data: string;
286
- driverParam: string;
287
168
  notNull: true;
288
- hasDefault: false;
289
- enumValues: [string, ...string[]];
290
- baseColumn: never;
291
- }, {}, {}>;
292
- expires: import("drizzle-orm/pg-core").PgColumn<{
293
- name: "expires";
294
- tableName: string;
169
+ dataType: "string";
170
+ }>;
171
+ expires: DefaultPostgresColumn<{
295
172
  dataType: "date";
296
173
  columnType: "PgTimestamp";
297
174
  data: Date;
298
- driverParam: string;
299
175
  notNull: true;
300
- hasDefault: false;
301
- enumValues: undefined;
302
- baseColumn: never;
303
- }, {}, {}>;
176
+ }>;
304
177
  };
305
178
  dialect: "pg";
306
- }>;
307
- export declare function PostgresDrizzleAdapter(client: PgDatabase<QueryResultHKT, any>, schema?: DefaultPostgresSchema): Adapter;
308
- export type PostgresTableFn<T extends TableConfig> = PgTableWithColumns<{
309
- name: T["name"];
310
- columns: T["columns"];
311
- dialect: T["dialect"];
312
179
  schema: string | undefined;
313
180
  }>;
314
181
  export type DefaultPostgresSchema = {
315
- usersTable: PostgresTableFn<(typeof postgresUsersTable)["_"]["config"]>;
316
- accountsTable: PostgresTableFn<(typeof postgresAccountsTable)["_"]["config"]>;
317
- sessionsTable: PostgresTableFn<(typeof postgresSessionsTable)["_"]["config"]>;
318
- verificationTokensTable: PostgresTableFn<(typeof postgresVerificationTokensTable)["_"]["config"]>;
182
+ usersTable: DefaultPostgresUsersTable;
183
+ accountsTable: DefaultPostgresAccountsTable;
184
+ sessionsTable?: DefaultPostgresSessionsTable;
185
+ verificationTokensTable?: DefaultPostgresVerificationTokenTable;
319
186
  };
187
+ export {};
320
188
  //# 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":"AACA,OAAO,EAKL,UAAU,EAGV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACZ,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,OAAO,EAKR,MAAM,qBAAqB,CAAA;AAG5B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAA;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBjC,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBjC,CAAA;AAED,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY3C,CAAA;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,EACvC,MAAM,GAAE,qBAKP,GACA,OAAO,CA0IT;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,IAAI,kBAAkB,CAAC;IACtE,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,qBAAqB,GAAG;IAClC,UAAU,EAAE,eAAe,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,aAAa,EAAE,eAAe,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7E,aAAa,EAAE,eAAe,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7E,uBAAuB,EAAE,eAAe,CACtC,CAAC,OAAO,+BAA+B,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CACxD,CAAA;CACF,CAAA"}
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,72 +1,72 @@
1
- import { and, eq } from "drizzle-orm";
2
- import { timestamp, text, primaryKey, integer, pgTable, index, } from "drizzle-orm/pg-core";
3
- import { randomUUID } from "crypto";
4
- export const postgresUsersTable = pgTable("user", {
5
- id: text("id")
6
- .primaryKey()
7
- .$defaultFn(() => randomUUID()),
8
- name: text("name"),
9
- email: text("email").notNull().unique(),
10
- emailVerified: timestamp("emailVerified", { mode: "date" }),
11
- image: text("image"),
12
- });
13
- export const postgresAccountsTable = pgTable("account", {
14
- userId: text("userId")
15
- .notNull()
16
- .references(() => postgresUsersTable.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
- }, (table) => {
1
+ import { and, eq, getTableColumns } from "drizzle-orm";
2
+ import { 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
+ }, (table) => {
30
+ return {
31
+ compositePk: primaryKey({
32
+ columns: [table.provider, table.providerAccountId],
33
+ }),
34
+ };
35
+ }));
36
+ const sessionsTable = schema.sessionsTable ??
37
+ (pgTable("session", {
38
+ sessionToken: text("sessionToken").primaryKey(),
39
+ userId: text("userId")
40
+ .notNull()
41
+ .references(() => usersTable.id, { onDelete: "cascade" }),
42
+ expires: timestamp("expires", { mode: "date" }).notNull(),
43
+ }));
44
+ const verificationTokensTable = schema.verificationTokensTable ??
45
+ (pgTable("verificationToken", {
46
+ identifier: text("identifier").notNull(),
47
+ token: text("token").notNull(),
48
+ expires: timestamp("expires", { mode: "date" }).notNull(),
49
+ }, (table) => {
50
+ return {
51
+ compositePk: primaryKey({ columns: [table.identifier, table.token] }),
52
+ };
53
+ }));
28
54
  return {
29
- userIdIdx: index().on(table.userId),
30
- compositePk: primaryKey({
31
- columns: [table.provider, table.providerAccountId],
32
- }),
55
+ usersTable,
56
+ accountsTable,
57
+ sessionsTable,
58
+ verificationTokensTable,
33
59
  };
34
- });
35
- export const postgresSessionsTable = pgTable("session", {
36
- id: text("id")
37
- .primaryKey()
38
- .$defaultFn(() => randomUUID()),
39
- sessionToken: text("sessionToken").notNull().unique(),
40
- userId: text("userId")
41
- .notNull()
42
- .references(() => postgresUsersTable.id, { onDelete: "cascade" }),
43
- expires: timestamp("expires", { mode: "date" }).notNull(),
44
- }, (table) => {
45
- return {
46
- userIdIdx: index().on(table.userId),
47
- };
48
- });
49
- export const postgresVerificationTokensTable = pgTable("verificationToken", {
50
- identifier: text("identifier").notNull(),
51
- token: text("token").notNull().unique(),
52
- expires: timestamp("expires", { mode: "date" }).notNull(),
53
- }, (table) => {
54
- return {
55
- compositePk: primaryKey({ columns: [table.identifier, table.token] }),
56
- };
57
- });
58
- export function PostgresDrizzleAdapter(client, schema = {
59
- usersTable: postgresUsersTable,
60
- accountsTable: postgresAccountsTable,
61
- sessionsTable: postgresSessionsTable,
62
- verificationTokensTable: postgresVerificationTokensTable,
63
- }) {
64
- const { usersTable, accountsTable, sessionsTable, verificationTokensTable } = schema;
60
+ }
61
+ export function PostgresDrizzleAdapter(client, schema) {
62
+ const { usersTable, accountsTable, sessionsTable, verificationTokensTable } = defineTables(schema);
65
63
  return {
66
64
  async createUser(data) {
65
+ const { id, ...insertData } = data;
66
+ const hasDefaultId = getTableColumns(usersTable)["id"]["hasDefault"];
67
67
  return client
68
68
  .insert(usersTable)
69
- .values(data)
69
+ .values(hasDefaultId ? insertData : { ...insertData, id })
70
70
  .returning()
71
71
  .then((res) => res[0]);
72
72
  },