@cloudauth/adapter-drizzle 0.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/LICENSE +21 -0
- package/dist/adapter 2.js +181 -0
- package/dist/adapter.d 2.ts +7 -0
- package/dist/adapter.d.ts +7 -0
- package/dist/adapter.d.ts.map +1 -0
- package/dist/adapter.js +181 -0
- package/dist/adapter.js 2.map +1 -0
- package/dist/adapter.js.map +1 -0
- package/dist/index 2.js +4 -0
- package/dist/index.d 2.ts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts 2.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/schema-pg.d 2.ts +624 -0
- package/dist/schema-pg.d.ts +624 -0
- package/dist/schema-pg.d.ts 2.map +1 -0
- package/dist/schema-pg.d.ts.map +1 -0
- package/dist/schema-pg.js +52 -0
- package/dist/schema-pg.js 2.map +1 -0
- package/dist/schema-pg.js.map +1 -0
- package/dist/schema.d 2.ts +672 -0
- package/dist/schema.d.ts +672 -0
- package/dist/schema.d.ts 2.map +1 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +52 -0
- package/dist/schema.js.map +1 -0
- package/dist/test/adapter.test 2.js +88 -0
- package/dist/test/adapter.test.d 2.ts +2 -0
- package/dist/test/adapter.test.d 3.ts +2 -0
- package/dist/test/adapter.test.d.ts +2 -0
- package/dist/test/adapter.test.d.ts 2.map +1 -0
- package/dist/test/adapter.test.d.ts 3.map +1 -0
- package/dist/test/adapter.test.d.ts.map +1 -0
- package/dist/test/adapter.test.js +88 -0
- package/dist/test/adapter.test.js 2.map +1 -0
- package/dist/test/adapter.test.js 3.map +1 -0
- package/dist/test/adapter.test.js.map +1 -0
- package/dist/test/auth.test.d 2.ts +2 -0
- package/dist/test/auth.test.d.ts +2 -0
- package/dist/test/auth.test.d.ts 2.map +1 -0
- package/dist/test/auth.test.d.ts.map +1 -0
- package/dist/test/auth.test.js +181 -0
- package/dist/test/auth.test.js 2.map +1 -0
- package/dist/test/auth.test.js.map +1 -0
- package/package.json +36 -0
- package/src/adapter.ts +227 -0
- package/src/index.ts +3 -0
- package/src/schema-pg.ts +62 -0
- package/src/schema.ts +62 -0
- package/src/test/adapter.test.ts +93 -0
- package/src/test/auth.test.ts +211 -0
- package/tsconfig 2.tsbuildinfo +1 -0
- package/tsconfig 3.tsbuildinfo +1 -0
- package/tsconfig.json +11 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/vitest.config.ts +7 -0
package/dist/schema.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { sqliteTable, text, integer, uniqueIndex } from 'drizzle-orm/sqlite-core';
|
|
2
|
+
export const users = sqliteTable('users', {
|
|
3
|
+
id: text('id').primaryKey(),
|
|
4
|
+
email: text('email'),
|
|
5
|
+
emailVerified: integer('email_verified', { mode: 'boolean' }).default(false).notNull(),
|
|
6
|
+
name: text('name'),
|
|
7
|
+
image: text('image'),
|
|
8
|
+
createdAt: integer('created_at', { mode: 'timestamp_ms' }).notNull(),
|
|
9
|
+
updatedAt: integer('updated_at', { mode: 'timestamp_ms' }).notNull(),
|
|
10
|
+
});
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
12
|
+
export const accounts = sqliteTable('accounts', {
|
|
13
|
+
id: text('id').primaryKey(),
|
|
14
|
+
userId: text('user_id')
|
|
15
|
+
.notNull()
|
|
16
|
+
.references(() => users.id),
|
|
17
|
+
provider: text('provider').notNull(),
|
|
18
|
+
providerAccountId: text('provider_account_id').notNull(),
|
|
19
|
+
accessToken: text('access_token'),
|
|
20
|
+
refreshToken: text('refresh_token'),
|
|
21
|
+
idToken: text('id_token'),
|
|
22
|
+
scope: text('scope'),
|
|
23
|
+
tokenType: text('token_type'),
|
|
24
|
+
expiresAt: integer('expires_at', { mode: 'timestamp_ms' }),
|
|
25
|
+
createdAt: integer('created_at', { mode: 'timestamp_ms' }).notNull(),
|
|
26
|
+
updatedAt: integer('updated_at', { mode: 'timestamp_ms' }).notNull(),
|
|
27
|
+
}, (table) => ({
|
|
28
|
+
providerAccountUnique: uniqueIndex('unique_provider_account').on(table.provider, table.providerAccountId),
|
|
29
|
+
}));
|
|
30
|
+
export const sessions = sqliteTable('sessions', {
|
|
31
|
+
id: text('id').primaryKey(),
|
|
32
|
+
userId: text('user_id')
|
|
33
|
+
.notNull()
|
|
34
|
+
.references(() => users.id),
|
|
35
|
+
tokenHash: text('token_hash').unique().notNull(),
|
|
36
|
+
expiresAt: integer('expires_at', { mode: 'timestamp_ms' }).notNull(),
|
|
37
|
+
ipAddress: text('ip_address'),
|
|
38
|
+
userAgent: text('user_agent'),
|
|
39
|
+
createdAt: integer('created_at', { mode: 'timestamp_ms' }).notNull(),
|
|
40
|
+
updatedAt: integer('updated_at', { mode: 'timestamp_ms' }).notNull(),
|
|
41
|
+
});
|
|
42
|
+
export const oauthStates = sqliteTable('oauth_states', {
|
|
43
|
+
id: text('id').primaryKey(),
|
|
44
|
+
stateHash: text('state_hash').unique().notNull(),
|
|
45
|
+
codeVerifier: text('code_verifier').notNull(),
|
|
46
|
+
provider: text('provider').notNull(),
|
|
47
|
+
callbackUrl: text('callback_url'),
|
|
48
|
+
errorUrl: text('error_url'),
|
|
49
|
+
expiresAt: integer('expires_at', { mode: 'timestamp_ms' }).notNull(),
|
|
50
|
+
createdAt: integer('created_at', { mode: 'timestamp_ms' }).notNull(),
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { describe, beforeAll, afterAll, beforeEach } from 'vitest';
|
|
2
|
+
import { createClient } from '@libsql/client';
|
|
3
|
+
import { runAdapterConformanceTests } from '@cloudauth/core/test';
|
|
4
|
+
import { drizzleAdapter } from '../adapter.js';
|
|
5
|
+
import * as schema from '../schema.js';
|
|
6
|
+
import { drizzle } from 'drizzle-orm/libsql';
|
|
7
|
+
describe('Drizzle SQLite adapter', () => {
|
|
8
|
+
let client;
|
|
9
|
+
beforeAll(async () => {
|
|
10
|
+
client = createClient({
|
|
11
|
+
url: ':memory:',
|
|
12
|
+
});
|
|
13
|
+
// Create tables once
|
|
14
|
+
await client.execute(`
|
|
15
|
+
CREATE TABLE IF NOT EXISTS users (
|
|
16
|
+
id text PRIMARY KEY,
|
|
17
|
+
email text,
|
|
18
|
+
email_verified integer DEFAULT 0 NOT NULL,
|
|
19
|
+
name text,
|
|
20
|
+
image text,
|
|
21
|
+
created_at integer NOT NULL,
|
|
22
|
+
updated_at integer NOT NULL
|
|
23
|
+
)
|
|
24
|
+
`);
|
|
25
|
+
await client.execute(`
|
|
26
|
+
CREATE TABLE IF NOT EXISTS accounts (
|
|
27
|
+
id text PRIMARY KEY,
|
|
28
|
+
user_id text NOT NULL REFERENCES users(id),
|
|
29
|
+
provider text NOT NULL,
|
|
30
|
+
provider_account_id text NOT NULL,
|
|
31
|
+
access_token text,
|
|
32
|
+
refresh_token text,
|
|
33
|
+
id_token text,
|
|
34
|
+
scope text,
|
|
35
|
+
token_type text,
|
|
36
|
+
expires_at integer,
|
|
37
|
+
created_at integer NOT NULL,
|
|
38
|
+
updated_at integer NOT NULL
|
|
39
|
+
)
|
|
40
|
+
`);
|
|
41
|
+
await client.execute(`
|
|
42
|
+
CREATE UNIQUE INDEX IF NOT EXISTS unique_provider_account
|
|
43
|
+
ON accounts(provider, provider_account_id)
|
|
44
|
+
`);
|
|
45
|
+
await client.execute(`
|
|
46
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
47
|
+
id text PRIMARY KEY,
|
|
48
|
+
user_id text NOT NULL REFERENCES users(id),
|
|
49
|
+
token_hash text UNIQUE NOT NULL,
|
|
50
|
+
expires_at integer NOT NULL,
|
|
51
|
+
ip_address text,
|
|
52
|
+
user_agent text,
|
|
53
|
+
created_at integer NOT NULL,
|
|
54
|
+
updated_at integer NOT NULL
|
|
55
|
+
)
|
|
56
|
+
`);
|
|
57
|
+
await client.execute(`
|
|
58
|
+
CREATE TABLE IF NOT EXISTS oauth_states (
|
|
59
|
+
id text PRIMARY KEY,
|
|
60
|
+
state_hash text UNIQUE NOT NULL,
|
|
61
|
+
code_verifier text NOT NULL,
|
|
62
|
+
provider text NOT NULL,
|
|
63
|
+
callback_url text,
|
|
64
|
+
error_url text,
|
|
65
|
+
expires_at integer NOT NULL,
|
|
66
|
+
created_at integer NOT NULL
|
|
67
|
+
)
|
|
68
|
+
`);
|
|
69
|
+
});
|
|
70
|
+
beforeEach(async () => {
|
|
71
|
+
// Clean data between tests to ensure test isolation
|
|
72
|
+
await client.execute('DELETE FROM accounts');
|
|
73
|
+
await client.execute('DELETE FROM sessions');
|
|
74
|
+
await client.execute('DELETE FROM oauth_states');
|
|
75
|
+
await client.execute('DELETE FROM users');
|
|
76
|
+
});
|
|
77
|
+
afterAll(() => {
|
|
78
|
+
client.close();
|
|
79
|
+
});
|
|
80
|
+
runAdapterConformanceTests({
|
|
81
|
+
name: 'SQLite (libsql)',
|
|
82
|
+
createAdapter: () => {
|
|
83
|
+
const db = drizzle(client, { schema });
|
|
84
|
+
return drizzleAdapter(db);
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=adapter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.test.d.ts","sourceRoot":"","sources":["../../src/test/adapter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.test.d.ts","sourceRoot":"","sources":["../../src/test/adapter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.test.d.ts","sourceRoot":"","sources":["../../src/test/adapter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { describe, beforeAll, afterAll, beforeEach } from 'vitest';
|
|
2
|
+
import { createClient } from '@libsql/client';
|
|
3
|
+
import { runAdapterConformanceTests } from '@cloudauth/core/test';
|
|
4
|
+
import { drizzleAdapter } from '../adapter.js';
|
|
5
|
+
import * as schema from '../schema.js';
|
|
6
|
+
import { drizzle } from 'drizzle-orm/libsql';
|
|
7
|
+
describe('Drizzle SQLite adapter', () => {
|
|
8
|
+
let client;
|
|
9
|
+
beforeAll(async () => {
|
|
10
|
+
client = createClient({
|
|
11
|
+
url: ':memory:',
|
|
12
|
+
});
|
|
13
|
+
// Create tables once
|
|
14
|
+
await client.execute(`
|
|
15
|
+
CREATE TABLE IF NOT EXISTS users (
|
|
16
|
+
id text PRIMARY KEY,
|
|
17
|
+
email text,
|
|
18
|
+
email_verified integer DEFAULT 0 NOT NULL,
|
|
19
|
+
name text,
|
|
20
|
+
image text,
|
|
21
|
+
created_at integer NOT NULL,
|
|
22
|
+
updated_at integer NOT NULL
|
|
23
|
+
)
|
|
24
|
+
`);
|
|
25
|
+
await client.execute(`
|
|
26
|
+
CREATE TABLE IF NOT EXISTS accounts (
|
|
27
|
+
id text PRIMARY KEY,
|
|
28
|
+
user_id text NOT NULL REFERENCES users(id),
|
|
29
|
+
provider text NOT NULL,
|
|
30
|
+
provider_account_id text NOT NULL,
|
|
31
|
+
access_token text,
|
|
32
|
+
refresh_token text,
|
|
33
|
+
id_token text,
|
|
34
|
+
scope text,
|
|
35
|
+
token_type text,
|
|
36
|
+
expires_at integer,
|
|
37
|
+
created_at integer NOT NULL,
|
|
38
|
+
updated_at integer NOT NULL
|
|
39
|
+
)
|
|
40
|
+
`);
|
|
41
|
+
await client.execute(`
|
|
42
|
+
CREATE UNIQUE INDEX IF NOT EXISTS unique_provider_account
|
|
43
|
+
ON accounts(provider, provider_account_id)
|
|
44
|
+
`);
|
|
45
|
+
await client.execute(`
|
|
46
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
47
|
+
id text PRIMARY KEY,
|
|
48
|
+
user_id text NOT NULL REFERENCES users(id),
|
|
49
|
+
token_hash text UNIQUE NOT NULL,
|
|
50
|
+
expires_at integer NOT NULL,
|
|
51
|
+
ip_address text,
|
|
52
|
+
user_agent text,
|
|
53
|
+
created_at integer NOT NULL,
|
|
54
|
+
updated_at integer NOT NULL
|
|
55
|
+
)
|
|
56
|
+
`);
|
|
57
|
+
await client.execute(`
|
|
58
|
+
CREATE TABLE IF NOT EXISTS oauth_states (
|
|
59
|
+
id text PRIMARY KEY,
|
|
60
|
+
state_hash text UNIQUE NOT NULL,
|
|
61
|
+
code_verifier text NOT NULL,
|
|
62
|
+
provider text NOT NULL,
|
|
63
|
+
callback_url text,
|
|
64
|
+
error_url text,
|
|
65
|
+
expires_at integer NOT NULL,
|
|
66
|
+
created_at integer NOT NULL
|
|
67
|
+
)
|
|
68
|
+
`);
|
|
69
|
+
});
|
|
70
|
+
beforeEach(async () => {
|
|
71
|
+
// Clean data between tests to ensure test isolation
|
|
72
|
+
await client.execute('DELETE FROM accounts');
|
|
73
|
+
await client.execute('DELETE FROM sessions');
|
|
74
|
+
await client.execute('DELETE FROM oauth_states');
|
|
75
|
+
await client.execute('DELETE FROM users');
|
|
76
|
+
});
|
|
77
|
+
afterAll(() => {
|
|
78
|
+
client.close();
|
|
79
|
+
});
|
|
80
|
+
runAdapterConformanceTests({
|
|
81
|
+
name: 'SQLite (libsql)',
|
|
82
|
+
createAdapter: () => {
|
|
83
|
+
const db = drizzle(client, { schema });
|
|
84
|
+
return drizzleAdapter(db);
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=adapter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../src/test/adapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,MAAuC,CAAA;IAE3C,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,GAAG,YAAY,CAAC;YACpB,GAAG,EAAE,UAAU;SAChB,CAAC,CAAA;QAEF,qBAAqB;QACrB,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;KAUpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;KAepB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;KAGpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;KAWpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;KAWpB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,oDAAoD;QACpD,MAAM,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;QAChD,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,0BAA0B,CAAC;QACzB,IAAI,EAAE,iBAAiB;QACvB,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACtC,OAAO,cAAc,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../src/test/adapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,MAAuC,CAAA;IAE3C,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,GAAG,YAAY,CAAC;YACpB,GAAG,EAAE,UAAU;SAChB,CAAC,CAAA;QAEF,qBAAqB;QACrB,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;KAUpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;KAepB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;KAGpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;KAWpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;KAWpB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,oDAAoD;QACpD,MAAM,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;QAChD,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,0BAA0B,CAAC;QACzB,IAAI,EAAE,iBAAiB;QACvB,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACtC,OAAO,cAAc,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.test.js","sourceRoot":"","sources":["../../src/test/adapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,MAAuC,CAAA;IAE3C,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,GAAG,YAAY,CAAC;YACpB,GAAG,EAAE,UAAU;SAChB,CAAC,CAAA;QAEF,qBAAqB;QACrB,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;KAUpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;KAepB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;KAGpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;KAWpB,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,OAAO,CAAC;;;;;;;;;;;KAWpB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,oDAAoD;QACpD,MAAM,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;QAChD,MAAM,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,0BAA0B,CAAC;QACzB,IAAI,EAAE,iBAAiB;QACvB,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACtC,OAAO,cAAc,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["../../src/test/auth.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["../../src/test/auth.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { describe, it, expect, beforeAll, beforeEach, afterAll } from 'vitest';
|
|
2
|
+
import { createClient } from '@libsql/client';
|
|
3
|
+
import { drizzle } from 'drizzle-orm/libsql';
|
|
4
|
+
import { drizzleAdapter } from '../adapter.js';
|
|
5
|
+
import * as schema from '../schema.js';
|
|
6
|
+
import { cloudAuth } from '@cloudauth/core';
|
|
7
|
+
// A mock provider for testing
|
|
8
|
+
const mockProvider = {
|
|
9
|
+
id: 'mock',
|
|
10
|
+
type: 'oauth',
|
|
11
|
+
authorizationUrl(params) {
|
|
12
|
+
const url = new URL('https://mock.provider/oauth/authorize');
|
|
13
|
+
url.searchParams.set('state', params.state);
|
|
14
|
+
url.searchParams.set('code_challenge', params.codeVerifier);
|
|
15
|
+
url.searchParams.set('redirect_uri', params.redirectUri);
|
|
16
|
+
return url;
|
|
17
|
+
},
|
|
18
|
+
exchangeCode(_params) {
|
|
19
|
+
return Promise.resolve({
|
|
20
|
+
accessToken: 'mock_access_token',
|
|
21
|
+
refreshToken: 'mock_refresh_token',
|
|
22
|
+
scope: 'email profile',
|
|
23
|
+
tokenType: 'Bearer',
|
|
24
|
+
expiresAt: 3600,
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
getProfile(_tokens) {
|
|
28
|
+
return Promise.resolve({
|
|
29
|
+
provider: 'mock',
|
|
30
|
+
providerAccountId: 'mock_user_123',
|
|
31
|
+
email: 'mock@example.com',
|
|
32
|
+
emailVerified: true,
|
|
33
|
+
name: 'Mock User',
|
|
34
|
+
image: 'https://example.com/avatar.png',
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
function getCookieValue(cookieHeader) {
|
|
39
|
+
const firstPart = cookieHeader.split(';')[0];
|
|
40
|
+
if (!firstPart)
|
|
41
|
+
return null;
|
|
42
|
+
const eqIndex = firstPart.indexOf('=');
|
|
43
|
+
if (eqIndex === -1)
|
|
44
|
+
return null;
|
|
45
|
+
return firstPart.slice(eqIndex + 1);
|
|
46
|
+
}
|
|
47
|
+
describe('cloudAuth integration', () => {
|
|
48
|
+
let client;
|
|
49
|
+
let auth;
|
|
50
|
+
beforeAll(async () => {
|
|
51
|
+
client = createClient({ url: ':memory:' });
|
|
52
|
+
await client.execute(`
|
|
53
|
+
CREATE TABLE IF NOT EXISTS users (
|
|
54
|
+
id text PRIMARY KEY, email text, email_verified integer DEFAULT 0 NOT NULL,
|
|
55
|
+
name text, image text, created_at integer NOT NULL, updated_at integer NOT NULL
|
|
56
|
+
)
|
|
57
|
+
`);
|
|
58
|
+
await client.execute(`
|
|
59
|
+
CREATE TABLE IF NOT EXISTS accounts (
|
|
60
|
+
id text PRIMARY KEY, user_id text NOT NULL REFERENCES users(id),
|
|
61
|
+
provider text NOT NULL, provider_account_id text NOT NULL,
|
|
62
|
+
access_token text, refresh_token text, id_token text,
|
|
63
|
+
scope text, token_type text, expires_at integer,
|
|
64
|
+
created_at integer NOT NULL, updated_at integer NOT NULL
|
|
65
|
+
)
|
|
66
|
+
`);
|
|
67
|
+
await client.execute(`
|
|
68
|
+
CREATE UNIQUE INDEX IF NOT EXISTS unique_provider_account
|
|
69
|
+
ON accounts(provider, provider_account_id)
|
|
70
|
+
`);
|
|
71
|
+
await client.execute(`
|
|
72
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
73
|
+
id text PRIMARY KEY, user_id text NOT NULL REFERENCES users(id),
|
|
74
|
+
token_hash text UNIQUE NOT NULL, expires_at integer NOT NULL,
|
|
75
|
+
ip_address text, user_agent text,
|
|
76
|
+
created_at integer NOT NULL, updated_at integer NOT NULL
|
|
77
|
+
)
|
|
78
|
+
`);
|
|
79
|
+
await client.execute(`
|
|
80
|
+
CREATE TABLE IF NOT EXISTS oauth_states (
|
|
81
|
+
id text PRIMARY KEY, state_hash text UNIQUE NOT NULL,
|
|
82
|
+
code_verifier text NOT NULL, provider text NOT NULL,
|
|
83
|
+
callback_url text, error_url text,
|
|
84
|
+
expires_at integer NOT NULL, created_at integer NOT NULL
|
|
85
|
+
)
|
|
86
|
+
`);
|
|
87
|
+
});
|
|
88
|
+
beforeEach(async () => {
|
|
89
|
+
await client.execute('DELETE FROM accounts');
|
|
90
|
+
await client.execute('DELETE FROM sessions');
|
|
91
|
+
await client.execute('DELETE FROM oauth_states');
|
|
92
|
+
await client.execute('DELETE FROM users');
|
|
93
|
+
const db = drizzle(client, { schema });
|
|
94
|
+
auth = cloudAuth({
|
|
95
|
+
appName: 'TestApp',
|
|
96
|
+
baseURL: 'https://test.example.com',
|
|
97
|
+
providers: [mockProvider],
|
|
98
|
+
database: drizzleAdapter(db),
|
|
99
|
+
security: { secret: 'test-secret-that-is-at-least-32-characters!!' },
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
afterAll(() => {
|
|
103
|
+
client.close();
|
|
104
|
+
});
|
|
105
|
+
it('should create an authorization URL', async () => {
|
|
106
|
+
const url = await auth.createAuthUrl('mock');
|
|
107
|
+
expect(url).toBeInstanceOf(URL);
|
|
108
|
+
expect(url.hostname).toBe('mock.provider');
|
|
109
|
+
expect(url.searchParams.has('state')).toBe(true);
|
|
110
|
+
expect(url.searchParams.has('code_challenge')).toBe(true);
|
|
111
|
+
expect(url.searchParams.has('redirect_uri')).toBe(true);
|
|
112
|
+
});
|
|
113
|
+
it('should handle a full sign-in callback', async () => {
|
|
114
|
+
const authUrl = await auth.createAuthUrl('mock');
|
|
115
|
+
const stateParam = authUrl.searchParams.get('state');
|
|
116
|
+
expect(stateParam).toBeTruthy();
|
|
117
|
+
const callbackUrl = `https://test.example.com/auth/mock/callback?code=mock_code&state=${String(stateParam)}`;
|
|
118
|
+
const result = await auth.handleCallback('mock', new Request(callbackUrl));
|
|
119
|
+
expect(result.user).toBeDefined();
|
|
120
|
+
expect(result.user.email).toBe('mock@example.com');
|
|
121
|
+
expect(result.session).toBeDefined();
|
|
122
|
+
expect(result.cookieHeader).toContain('cloud_auth_session');
|
|
123
|
+
expect(result.cookieHeader).toContain('HttpOnly');
|
|
124
|
+
});
|
|
125
|
+
it('should get a valid session after sign-in', async () => {
|
|
126
|
+
const authUrl = await auth.createAuthUrl('mock');
|
|
127
|
+
const stateParam = authUrl.searchParams.get('state');
|
|
128
|
+
expect(stateParam).toBeTruthy();
|
|
129
|
+
const callbackUrl = `https://test.example.com/auth/mock/callback?code=mock_code&state=${String(stateParam)}`;
|
|
130
|
+
const result = await auth.handleCallback('mock', new Request(callbackUrl));
|
|
131
|
+
const cookieValue = getCookieValue(result.cookieHeader);
|
|
132
|
+
expect(cookieValue).toBeTruthy();
|
|
133
|
+
const sessionRequest = new Request('https://test.example.com/dashboard', {
|
|
134
|
+
headers: { cookie: `cloud_auth_session=${String(cookieValue)}` },
|
|
135
|
+
});
|
|
136
|
+
const session = await auth.getSession(sessionRequest);
|
|
137
|
+
expect(session).not.toBeNull();
|
|
138
|
+
if (session) {
|
|
139
|
+
expect(session.user.email).toBe('mock@example.com');
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
it('should return null for unauthenticated requests', async () => {
|
|
143
|
+
const req = new Request('https://test.example.com/protected');
|
|
144
|
+
const session = await auth.getSession(req);
|
|
145
|
+
expect(session).toBeNull();
|
|
146
|
+
});
|
|
147
|
+
it('should sign out and clear the session', async () => {
|
|
148
|
+
const authUrl = await auth.createAuthUrl('mock');
|
|
149
|
+
const stateParam = authUrl.searchParams.get('state');
|
|
150
|
+
expect(stateParam).toBeTruthy();
|
|
151
|
+
const callbackUrl = `https://test.example.com/auth/mock/callback?code=mock_code&state=${String(stateParam)}`;
|
|
152
|
+
const result = await auth.handleCallback('mock', new Request(callbackUrl));
|
|
153
|
+
const cookieValue = getCookieValue(result.cookieHeader);
|
|
154
|
+
expect(cookieValue).toBeTruthy();
|
|
155
|
+
const signOutReq = new Request('https://test.example.com/logout', {
|
|
156
|
+
headers: { cookie: `cloud_auth_session=${String(cookieValue)}` },
|
|
157
|
+
});
|
|
158
|
+
const clearCookie = await auth.signOut(signOutReq);
|
|
159
|
+
expect(clearCookie).toContain('Max-Age=0');
|
|
160
|
+
const checkReq = new Request('https://test.example.com/dashboard', {
|
|
161
|
+
headers: { cookie: `cloud_auth_session=${String(cookieValue)}` },
|
|
162
|
+
});
|
|
163
|
+
const session = await auth.getSession(checkReq);
|
|
164
|
+
expect(session).toBeNull();
|
|
165
|
+
});
|
|
166
|
+
it('should throw on invalid state', async () => {
|
|
167
|
+
const callbackUrl = 'https://test.example.com/auth/mock/callback?code=bad&state=invalid';
|
|
168
|
+
await expect(auth.handleCallback('mock', new Request(callbackUrl))).rejects.toThrow();
|
|
169
|
+
});
|
|
170
|
+
it('should throw on missing security secret', async () => {
|
|
171
|
+
const db = drizzle(client, { schema });
|
|
172
|
+
const badAuth = cloudAuth({
|
|
173
|
+
appName: 'Test',
|
|
174
|
+
baseURL: 'https://test.com',
|
|
175
|
+
providers: [mockProvider],
|
|
176
|
+
database: drizzleAdapter(db),
|
|
177
|
+
});
|
|
178
|
+
await expect(badAuth.getSession(new Request('https://test.com'))).rejects.toThrow('security.secret is required');
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
//# sourceMappingURL=auth.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../src/test/auth.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../src/test/auth.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cloudauth/adapter-drizzle",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./schema": {
|
|
15
|
+
"types": "./dist/schema.d.ts",
|
|
16
|
+
"import": "./dist/schema.js",
|
|
17
|
+
"default": "./dist/schema.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@libsql/client": "^0.17.4",
|
|
22
|
+
"@cloudauth/core": "0.1.0"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"drizzle-orm": "^0.38.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"vitest": "^4.1.10"
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "tsc",
|
|
32
|
+
"typecheck": "tsc --noEmit",
|
|
33
|
+
"test": "vitest run",
|
|
34
|
+
"test:watch": "vitest"
|
|
35
|
+
}
|
|
36
|
+
}
|