@auth/drizzle-adapter 0.3.1 → 0.3.2

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,6 +1,5 @@
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
4
  users: import("drizzle-orm/select.types.d-b947a018").aw<{
6
5
  name: "user";
@@ -222,5 +221,5 @@ export declare function createTables(mySqlTable: MySqlTableFn): {
222
221
  }>;
223
222
  };
224
223
  export type DefaultSchema = ReturnType<typeof createTables>;
225
- export declare function mySqlDrizzleAdapter(client: MySql2Database<Record<string, never>>, tableFn?: MySqlTableFn<undefined>): Adapter;
224
+ export declare function mySqlDrizzleAdapter(client: InstanceType<typeof MySqlDatabase>, tableFn?: MySqlTableFn<undefined>): Adapter;
226
225
  //# 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
package/lib/pg.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { PgTableFn } from "drizzle-orm/pg-core";
2
- import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
1
+ import { PgTableFn, PgDatabase } from "drizzle-orm/pg-core";
3
2
  import type { Adapter } from "@auth/core/adapters";
4
3
  export declare function createTables(pgTable: PgTableFn): {
5
4
  users: import("drizzle-orm/db.d-b9835153").az<{
@@ -222,5 +221,5 @@ export declare function createTables(pgTable: PgTableFn): {
222
221
  }>;
223
222
  };
224
223
  export type DefaultSchema = ReturnType<typeof createTables>;
225
- export declare function pgDrizzleAdapter(client: PostgresJsDatabase<Record<string, never>>, tableFn?: PgTableFn<undefined>): Adapter;
224
+ export declare function pgDrizzleAdapter(client: InstanceType<typeof PgDatabase>, tableFn?: PgTableFn<undefined>): Adapter;
226
225
  //# 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,EAML,SAAS,EACV,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAA;AAElE,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoD9C;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAE3D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EACjD,OAAO,uBAAmB,GACzB,OAAO,CAgKT"}
1
+ {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../src/lib/pg.ts"],"names":[],"mappings":"AACA,OAAO,EAML,SAAS,EACT,UAAU,EACX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAA;AAElE,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoD9C;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAE3D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,EACvC,OAAO,uBAAmB,GACzB,OAAO,CAgKT"}
package/lib/sqlite.d.ts CHANGED
@@ -221,5 +221,5 @@ export declare function createTables(sqliteTable: SQLiteTableFn): {
221
221
  }>;
222
222
  };
223
223
  export type DefaultSchema = ReturnType<typeof createTables>;
224
- export declare function SQLiteDrizzleAdapter(client: BaseSQLiteDatabase<any, any>, tableFn?: SQLiteTableFn<undefined>): Adapter;
224
+ export declare function SQLiteDrizzleAdapter(client: InstanceType<typeof BaseSQLiteDatabase>, tableFn?: SQLiteTableFn<undefined>): Adapter;
225
225
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/lib/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAA;AAElE,wBAAgB,YAAY,CAAC,WAAW,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDtD;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAE3D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,OAAO,2BAAuB,GAC7B,OAAO,CA2IT"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../src/lib/sqlite.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAA;AAElE,wBAAgB,YAAY,CAAC,WAAW,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDtD;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AAE3D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC,EAC/C,OAAO,2BAAuB,GAC7B,OAAO,CA2IT"}
package/lib/utils.d.ts CHANGED
@@ -18,7 +18,4 @@ export interface MinimumSchema {
18
18
  export type SqlFlavorOptions = AnyMySqlDatabase | AnyPgDatabase | AnySQLiteDatabase;
19
19
  export type ClientFlavors<Flavor> = Flavor extends AnyMySqlDatabase ? MinimumSchema["mysql"] : Flavor extends AnyPgDatabase ? MinimumSchema["pg"] : Flavor extends AnySQLiteDatabase ? MinimumSchema["sqlite"] : never;
20
20
  export type TableFn<Flavor> = Flavor extends AnyMySqlDatabase ? MySqlTableFn : Flavor extends AnyPgDatabase ? PgTableFn : Flavor extends AnySQLiteDatabase ? SQLiteTableFn : AnySQLiteTable;
21
- export declare function isMySqlDatabase(db: any): db is MySqlDatabase<any, any, any, any>;
22
- export declare function isPgDatabase(db: any): db is PgDatabase<any, any, any>;
23
- export declare function isSQLiteDatabase(db: any): db is AnySQLiteDatabase;
24
21
  //# 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;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAEhE,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACtD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACrD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAClD,EAAE,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACzC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CACtD;AAED,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,aAAa,GACb,iBAAiB,CAAA;AAErB,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,MAAM,SAAS,gBAAgB,GAC/D,aAAa,CAAC,OAAO,CAAC,GACtB,MAAM,SAAS,aAAa,GAC5B,aAAa,CAAC,IAAI,CAAC,GACnB,MAAM,SAAS,iBAAiB,GAChC,aAAa,CAAC,QAAQ,CAAC,GACvB,KAAK,CAAA;AAET,MAAM,MAAM,OAAO,CAAC,MAAM,IAAI,MAAM,SAAS,gBAAgB,GACzD,YAAY,GACZ,MAAM,SAAS,aAAa,GAC5B,SAAS,GACT,MAAM,SAAS,iBAAiB,GAChC,aAAa,GACb,cAAc,CAAA;AAElB,wBAAgB,eAAe,CAC7B,EAAE,EAAE,GAAG,GACN,EAAE,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAEzC;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAErE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,iBAAiB,CAEjE"}
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;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,IAAI,YAAY,EAAE,MAAM,aAAa,CAAA;AAEhE,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACtD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AACrD,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEtE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAClD,EAAE,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACzC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CACtD;AAED,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,aAAa,GACb,iBAAiB,CAAA;AAErB,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,MAAM,SAAS,gBAAgB,GAC/D,aAAa,CAAC,OAAO,CAAC,GACtB,MAAM,SAAS,aAAa,GAC5B,aAAa,CAAC,IAAI,CAAC,GACnB,MAAM,SAAS,iBAAiB,GAChC,aAAa,CAAC,QAAQ,CAAC,GACvB,KAAK,CAAA;AAET,MAAM,MAAM,OAAO,CAAC,MAAM,IAAI,MAAM,SAAS,gBAAgB,GACzD,YAAY,GACZ,MAAM,SAAS,aAAa,GAC5B,SAAS,GACT,MAAM,SAAS,iBAAiB,GAChC,aAAa,GACb,cAAc,CAAA"}
package/lib/utils.js CHANGED
@@ -1,12 +1 @@
1
- import { MySqlDatabase } from "drizzle-orm/mysql-core";
2
- import { PgDatabase } from "drizzle-orm/pg-core";
3
- import { BaseSQLiteDatabase } from "drizzle-orm/sqlite-core";
4
- export function isMySqlDatabase(db) {
5
- return db instanceof MySqlDatabase;
6
- }
7
- export function isPgDatabase(db) {
8
- return db instanceof PgDatabase;
9
- }
10
- export function isSQLiteDatabase(db) {
11
- return db instanceof BaseSQLiteDatabase;
12
- }
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auth/drizzle-adapter",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Drizzle adapter for Auth.js.",
5
5
  "homepage": "https://authjs.dev",
6
6
  "repository": "https://github.com/nextauthjs/next-auth",
@@ -36,7 +36,7 @@
36
36
  "access": "public"
37
37
  },
38
38
  "dependencies": {
39
- "@auth/core": "0.11.1"
39
+ "@auth/core": "0.12.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/better-sqlite3": "^7.6.4",
package/src/index.ts CHANGED
@@ -16,19 +16,14 @@
16
16
  * @module @auth/drizzle-adapter
17
17
  */
18
18
 
19
- import { MySqlTableFn } from "drizzle-orm/mysql-core/index.js"
20
- import { PgTableFn } from "drizzle-orm/pg-core/index.js"
21
- import { SQLiteTableFn } from "drizzle-orm/sqlite-core/index.js"
19
+ import { MySqlDatabase, MySqlTableFn } from "drizzle-orm/mysql-core"
20
+ import { PgDatabase, PgTableFn } from "drizzle-orm/pg-core"
21
+ import { BaseSQLiteDatabase, SQLiteTableFn } from "drizzle-orm/sqlite-core"
22
22
  import { mySqlDrizzleAdapter } from "./lib/mysql.js"
23
23
  import { pgDrizzleAdapter } from "./lib/pg.js"
24
24
  import { SQLiteDrizzleAdapter } from "./lib/sqlite.js"
25
- import {
26
- isMySqlDatabase,
27
- isPgDatabase,
28
- isSQLiteDatabase,
29
- SqlFlavorOptions,
30
- TableFn,
31
- } from "./lib/utils.js"
25
+ import { SqlFlavorOptions, TableFn } from "./lib/utils.js"
26
+ import { is } from "drizzle-orm"
32
27
 
33
28
  import type { Adapter } from "@auth/core/adapters"
34
29
 
@@ -260,18 +255,15 @@ export function DrizzleAdapter<SqlFlavor extends SqlFlavorOptions>(
260
255
  db: SqlFlavor,
261
256
  table?: TableFn<SqlFlavor>
262
257
  ): Adapter {
263
- if (isMySqlDatabase(db)) {
264
- // We need to cast to unknown since the type overlaps (PScale is MySQL based)
258
+ if (is(db, MySqlDatabase)) {
265
259
  return mySqlDrizzleAdapter(db, table as MySqlTableFn)
266
- }
267
-
268
- if (isPgDatabase(db)) {
260
+ } else if (is(db, PgDatabase)) {
269
261
  return pgDrizzleAdapter(db, table as PgTableFn)
270
- }
271
-
272
- if (isSQLiteDatabase(db)) {
262
+ } else if (is(db, BaseSQLiteDatabase)) {
273
263
  return SQLiteDrizzleAdapter(db, table as SQLiteTableFn)
274
264
  }
275
265
 
276
- throw new Error("Unsupported database type in Auth.js Drizzle adapter.")
266
+ throw new Error(
267
+ `Unsupported database type (${typeof db}) in Auth.js Drizzle adapter.`
268
+ )
277
269
  }
package/src/lib/mysql.ts CHANGED
@@ -6,10 +6,10 @@ import {
6
6
  primaryKey,
7
7
  varchar,
8
8
  MySqlTableFn,
9
+ MySqlDatabase,
9
10
  } from "drizzle-orm/mysql-core"
10
11
 
11
12
  import type { Adapter, AdapterAccount } from "@auth/core/adapters"
12
- import type { MySql2Database } from "drizzle-orm/mysql2"
13
13
 
14
14
  export function createTables(mySqlTable: MySqlTableFn) {
15
15
  const users = mySqlTable("user", {
@@ -77,7 +77,7 @@ export function createTables(mySqlTable: MySqlTableFn) {
77
77
  export type DefaultSchema = ReturnType<typeof createTables>
78
78
 
79
79
  export function mySqlDrizzleAdapter(
80
- client: MySql2Database<Record<string, never>>,
80
+ client: InstanceType<typeof MySqlDatabase>,
81
81
  tableFn = defaultMySqlTableFn
82
82
  ): Adapter {
83
83
  const { users, accounts, sessions, verificationTokens } =
@@ -164,10 +164,7 @@ export function mySqlDrizzleAdapter(
164
164
  .then((res) => res[0])
165
165
  },
166
166
  async linkAccount(rawAccount) {
167
- await client
168
- .insert(accounts)
169
- .values(rawAccount)
170
- .then((res) => res[0])
167
+ await client.insert(accounts).values(rawAccount)
171
168
  },
172
169
  async getUserByAccount(account) {
173
170
  const dbAccount =
package/src/lib/pg.ts CHANGED
@@ -6,9 +6,9 @@ import {
6
6
  primaryKey,
7
7
  integer,
8
8
  PgTableFn,
9
+ PgDatabase,
9
10
  } from "drizzle-orm/pg-core"
10
11
 
11
- import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"
12
12
  import type { Adapter, AdapterAccount } from "@auth/core/adapters"
13
13
 
14
14
  export function createTables(pgTable: PgTableFn) {
@@ -68,7 +68,7 @@ export function createTables(pgTable: PgTableFn) {
68
68
  export type DefaultSchema = ReturnType<typeof createTables>
69
69
 
70
70
  export function pgDrizzleAdapter(
71
- client: PostgresJsDatabase<Record<string, never>>,
71
+ client: InstanceType<typeof PgDatabase>,
72
72
  tableFn = defaultPgTableFn
73
73
  ): Adapter {
74
74
  const { users, accounts, sessions, verificationTokens } =
package/src/lib/sqlite.ts CHANGED
@@ -67,7 +67,7 @@ export function createTables(sqliteTable: SQLiteTableFn) {
67
67
  export type DefaultSchema = ReturnType<typeof createTables>
68
68
 
69
69
  export function SQLiteDrizzleAdapter(
70
- client: BaseSQLiteDatabase<any, any>,
70
+ client: InstanceType<typeof BaseSQLiteDatabase>,
71
71
  tableFn = defaultSqliteTableFn
72
72
  ): Adapter {
73
73
  const { users, accounts, sessions, verificationTokens } =
package/src/lib/utils.ts CHANGED
@@ -39,17 +39,3 @@ export type TableFn<Flavor> = Flavor extends AnyMySqlDatabase
39
39
  : Flavor extends AnySQLiteDatabase
40
40
  ? SQLiteTableFn
41
41
  : AnySQLiteTable
42
-
43
- export function isMySqlDatabase(
44
- db: any
45
- ): db is MySqlDatabase<any, any, any, any> {
46
- return db instanceof MySqlDatabase
47
- }
48
-
49
- export function isPgDatabase(db: any): db is PgDatabase<any, any, any> {
50
- return db instanceof PgDatabase
51
- }
52
-
53
- export function isSQLiteDatabase(db: any): db is AnySQLiteDatabase {
54
- return db instanceof BaseSQLiteDatabase
55
- }