@yielded/auth-persistence-drizzle 0.1.0-beta.0 → 0.1.0-beta.12
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/README.md +6 -1
- package/dist/D1.d.mts +155 -40
- package/dist/D1.mjs +10 -6
- package/dist/D1.mjs.map +1 -1
- package/dist/Libsql.d.mts +251 -129
- package/dist/Libsql.mjs +20 -21
- package/dist/Libsql.mjs.map +1 -1
- package/dist/Mysql2.d.mts +208 -56
- package/dist/Mysql2.mjs +13 -8
- package/dist/Mysql2.mjs.map +1 -1
- package/dist/Pglite.d.mts +209 -57
- package/dist/Pglite.mjs +13 -9
- package/dist/Pglite.mjs.map +1 -1
- package/dist/Postgres.d.mts +207 -55
- package/dist/Postgres.mjs +13 -9
- package/dist/Postgres.mjs.map +1 -1
- package/dist/SqliteBun.d.mts +249 -126
- package/dist/SqliteBun.mjs +20 -18
- package/dist/SqliteBun.mjs.map +1 -1
- package/dist/SqliteDo.d.mts +248 -158
- package/dist/SqliteDo.mjs +26 -44
- package/dist/SqliteDo.mjs.map +1 -1
- package/dist/SqliteNode.d.mts +247 -124
- package/dist/SqliteNode.mjs +20 -18
- package/dist/SqliteNode.mjs.map +1 -1
- package/dist/SqliteWasm.d.mts +251 -128
- package/dist/SqliteWasm.mjs +20 -18
- package/dist/SqliteWasm.mjs.map +1 -1
- package/dist/drizzle/D1BatchStatements.d.mts +1 -1
- package/dist/drizzle/D1BatchStatements.mjs.map +1 -1
- package/dist/drizzle/d1-database.d.mts +11 -0
- package/dist/drizzle/d1-database.mjs +8 -0
- package/dist/drizzle/d1-database.mjs.map +1 -0
- package/dist/drizzle/d1-emails.d.mts +8 -7
- package/dist/drizzle/d1-emails.mjs +7 -4
- package/dist/drizzle/d1-emails.mjs.map +1 -1
- package/dist/drizzle/d1-generated-statement.mjs.map +1 -1
- package/dist/drizzle/d1-identity.mjs +12 -9
- package/dist/drizzle/d1-identity.mjs.map +1 -1
- package/dist/drizzle/d1-oauth.d.mts +41 -10
- package/dist/drizzle/d1-oauth.mjs +8 -5
- package/dist/drizzle/d1-oauth.mjs.map +1 -1
- package/dist/drizzle/d1-passkey.d.mts +3 -14
- package/dist/drizzle/d1-passkey.mjs +2 -1
- package/dist/drizzle/d1-passkey.mjs.map +1 -1
- package/dist/drizzle/d1-password-prepared.d.mts +4 -3
- package/dist/drizzle/d1-password-prepared.mjs +3 -1
- package/dist/drizzle/d1-password-prepared.mjs.map +1 -1
- package/dist/drizzle/d1-passwords.d.mts +7 -6
- package/dist/drizzle/d1-passwords.mjs +5 -2
- package/dist/drizzle/d1-passwords.mjs.map +1 -1
- package/dist/drizzle/d1-phone.d.mts +3 -4
- package/dist/drizzle/d1-phone.mjs +2 -1
- package/dist/drizzle/d1-phone.mjs.map +1 -1
- package/dist/drizzle/d1-planning.d.mts +1 -1
- package/dist/drizzle/d1-proofs.d.mts +5 -4
- package/dist/drizzle/d1-proofs.mjs +3 -1
- package/dist/drizzle/d1-proofs.mjs.map +1 -1
- package/dist/drizzle/d1-sessions.d.mts +14 -13
- package/dist/drizzle/d1-sessions.mjs +15 -9
- package/dist/drizzle/d1-sessions.mjs.map +1 -1
- package/dist/drizzle/d1-totp.d.mts +3 -4
- package/dist/drizzle/d1-totp.mjs +2 -1
- package/dist/drizzle/d1-totp.mjs.map +1 -1
- package/dist/drizzle/email-registration.d.mts +1 -1
- package/dist/drizzle/email-registration.mjs +2 -1
- package/dist/drizzle/email-registration.mjs.map +1 -1
- package/dist/drizzle/email-target.d.mts +8 -7
- package/dist/drizzle/email-target.mjs +10 -10
- package/dist/drizzle/email-target.mjs.map +1 -1
- package/dist/drizzle/model.d.mts +2 -126
- package/dist/drizzle/model.mjs +2 -21
- package/dist/drizzle/model.mjs.map +1 -1
- package/dist/drizzle/mysql-database.d.mts +8 -0
- package/dist/drizzle/mysql-database.mjs +8 -0
- package/dist/drizzle/mysql-database.mjs.map +1 -0
- package/dist/drizzle/mysql-emails.d.mts +8 -7
- package/dist/drizzle/mysql-emails.mjs +12 -8
- package/dist/drizzle/mysql-emails.mjs.map +1 -1
- package/dist/drizzle/mysql-identity.mjs +12 -9
- package/dist/drizzle/mysql-identity.mjs.map +1 -1
- package/dist/drizzle/mysql-password-prepared.d.mts +4 -3
- package/dist/drizzle/mysql-password-prepared.mjs +6 -2
- package/dist/drizzle/mysql-password-prepared.mjs.map +1 -1
- package/dist/drizzle/mysql-passwords.d.mts +7 -5
- package/dist/drizzle/mysql-passwords.mjs +11 -7
- package/dist/drizzle/mysql-passwords.mjs.map +1 -1
- package/dist/drizzle/mysql-proofs.d.mts +4 -3
- package/dist/drizzle/mysql-proofs.mjs +8 -4
- package/dist/drizzle/mysql-proofs.mjs.map +1 -1
- package/dist/drizzle/mysql-sessions.d.mts +12 -11
- package/dist/drizzle/mysql-sessions.mjs +16 -12
- package/dist/drizzle/mysql-sessions.mjs.map +1 -1
- package/dist/drizzle/native-database.mjs +10 -0
- package/dist/drizzle/native-database.mjs.map +1 -0
- package/dist/drizzle/oauth-accounts.mjs +1 -1
- package/dist/drizzle/oauth-connected-access.mjs +14 -12
- package/dist/drizzle/oauth-connected-access.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-custody.mjs +2 -2
- package/dist/drizzle/oauth-connected-drivers.mjs +11 -6
- package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-flow.mjs +2 -2
- package/dist/drizzle/oauth-connected-input.mjs +14 -1
- package/dist/drizzle/oauth-connected-input.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-maintenance.mjs +1 -1
- package/dist/drizzle/oauth-connected-management.mjs +2 -2
- package/dist/drizzle/oauth-connected-model.d.mts +17 -3
- package/dist/drizzle/oauth-connected-model.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-settlement.mjs +51 -41
- package/dist/drizzle/oauth-connected-settlement.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-sign-in.mjs +263 -0
- package/dist/drizzle/oauth-connected-sign-in.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-state.d.mts +110 -2
- package/dist/drizzle/oauth-connected-state.mjs +9 -4
- package/dist/drizzle/oauth-connected-state.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-target.d.mts +142 -15
- package/dist/drizzle/oauth-connected-target.mjs +9 -6
- package/dist/drizzle/oauth-connected-target.mjs.map +1 -1
- package/dist/drizzle/oauth-drivers.mjs +9 -7
- package/dist/drizzle/oauth-drivers.mjs.map +1 -1
- package/dist/drizzle/oauth-flow.d.mts +1 -1
- package/dist/drizzle/oauth-flow.mjs +1 -1
- package/dist/drizzle/oauth-input.mjs +1 -1
- package/dist/drizzle/oauth-model.d.mts +1 -1
- package/dist/drizzle/oauth-owner.d.mts +1 -1
- package/dist/drizzle/oauth-registration.d.mts +2 -2
- package/dist/drizzle/oauth-registration.mjs +1 -1
- package/dist/drizzle/oauth-state.mjs +5 -4
- package/dist/drizzle/oauth-state.mjs.map +1 -1
- package/dist/drizzle/oauth-target.d.mts +14 -13
- package/dist/drizzle/oauth-target.mjs +14 -13
- package/dist/drizzle/oauth-target.mjs.map +1 -1
- package/dist/drizzle/passkey-drivers.mjs +8 -6
- package/dist/drizzle/passkey-drivers.mjs.map +1 -1
- package/dist/drizzle/passkey-write-drivers.mjs +5 -3
- package/dist/drizzle/passkey-write-drivers.mjs.map +1 -1
- package/dist/drizzle/passkey-write-target.d.mts +1 -1
- package/dist/drizzle/password-prepared-sql.mjs +2 -1
- package/dist/drizzle/password-prepared-sql.mjs.map +1 -1
- package/dist/drizzle/password-prepared-state.mjs +1 -1
- package/dist/drizzle/password-prepared-target.d.mts +4 -3
- package/dist/drizzle/password-prepared-target.mjs +4 -3
- package/dist/drizzle/password-prepared-target.mjs.map +1 -1
- package/dist/drizzle/password-registration.mjs +2 -1
- package/dist/drizzle/password-registration.mjs.map +1 -1
- package/dist/drizzle/password-target.d.mts +6 -5
- package/dist/drizzle/password-target.mjs +8 -8
- package/dist/drizzle/password-target.mjs.map +1 -1
- package/dist/drizzle/pg-database.d.mts +9 -0
- package/dist/drizzle/pg-database.mjs +8 -0
- package/dist/drizzle/pg-database.mjs.map +1 -0
- package/dist/drizzle/pg-emails.d.mts +8 -7
- package/dist/drizzle/pg-emails.mjs +12 -8
- package/dist/drizzle/pg-emails.mjs.map +1 -1
- package/dist/drizzle/pg-identity.mjs +92 -0
- package/dist/drizzle/pg-identity.mjs.map +1 -0
- package/dist/drizzle/pg-password-prepared.d.mts +4 -3
- package/dist/drizzle/pg-password-prepared.mjs +6 -2
- package/dist/drizzle/pg-password-prepared.mjs.map +1 -1
- package/dist/drizzle/pg-passwords.d.mts +7 -5
- package/dist/drizzle/pg-passwords.mjs +11 -7
- package/dist/drizzle/pg-passwords.mjs.map +1 -1
- package/dist/drizzle/pg-proofs.d.mts +4 -3
- package/dist/drizzle/pg-proofs.mjs +8 -4
- package/dist/drizzle/pg-proofs.mjs.map +1 -1
- package/dist/drizzle/pg-sessions.d.mts +12 -11
- package/dist/drizzle/pg-sessions.mjs +16 -12
- package/dist/drizzle/pg-sessions.mjs.map +1 -1
- package/dist/drizzle/phone-model.d.mts +1 -1
- package/dist/drizzle/phone-target.d.mts +5 -4
- package/dist/drizzle/phone-target.mjs +12 -11
- package/dist/drizzle/phone-target.mjs.map +1 -1
- package/dist/drizzle/proof-target.d.mts +4 -3
- package/dist/drizzle/proof-target.mjs +5 -5
- package/dist/drizzle/proof-target.mjs.map +1 -1
- package/dist/drizzle/session-sql.d.mts +1 -0
- package/dist/drizzle/session-target.d.mts +11 -9
- package/dist/drizzle/session-target.mjs +11 -11
- package/dist/drizzle/session-target.mjs.map +1 -1
- package/dist/drizzle/sqlite-emails.mjs +9 -5
- package/dist/drizzle/sqlite-emails.mjs.map +1 -1
- package/dist/drizzle/sqlite-identity.mjs +14 -11
- package/dist/drizzle/sqlite-identity.mjs.map +1 -1
- package/dist/drizzle/sqlite-password-prepared.mjs +7 -3
- package/dist/drizzle/sqlite-password-prepared.mjs.map +1 -1
- package/dist/drizzle/sqlite-passwords.mjs +10 -6
- package/dist/drizzle/sqlite-passwords.mjs.map +1 -1
- package/dist/drizzle/sqlite-proofs.mjs +7 -3
- package/dist/drizzle/sqlite-proofs.mjs.map +1 -1
- package/dist/drizzle/sqlite-sessions.mjs +16 -12
- package/dist/drizzle/sqlite-sessions.mjs.map +1 -1
- package/dist/drizzle/standalone-guard.d.mts +2 -0
- package/dist/drizzle/standalone-guard.mjs +8 -4
- package/dist/drizzle/standalone-guard.mjs.map +1 -1
- package/dist/drizzle/totp-model.d.mts +1 -1
- package/dist/drizzle/totp-target.d.mts +5 -4
- package/dist/drizzle/totp-target.mjs +31 -28
- package/dist/drizzle/totp-target.mjs.map +1 -1
- package/dist/drizzle/transaction-mysql.mjs +1 -1
- package/dist/drizzle/transaction-mysql.mjs.map +1 -1
- package/dist/index.d.mts +2 -4
- package/dist/index.mjs +2 -4
- package/dist/internal/drizzle-postgres.mjs.map +1 -1
- package/dist/internal/drizzle-sqlite.mjs.map +1 -1
- package/package.json +1 -1
- package/src/D1.ts +37 -26
- package/src/Libsql.ts +45 -61
- package/src/Mysql2.ts +39 -35
- package/src/Pglite.ts +48 -30
- package/src/Postgres.ts +48 -30
- package/src/SqliteBun.ts +59 -68
- package/src/SqliteDo.ts +61 -274
- package/src/SqliteNode.ts +56 -66
- package/src/SqliteWasm.ts +56 -66
- package/src/drizzle/D1BatchStatements.ts +1 -1
- package/src/drizzle/d1-database.ts +10 -0
- package/src/drizzle/d1-emails.ts +86 -88
- package/src/drizzle/d1-generated-statement.ts +1 -1
- package/src/drizzle/d1-identity.ts +17 -20
- package/src/drizzle/d1-oauth.ts +19 -8
- package/src/drizzle/d1-passkey.ts +5 -1
- package/src/drizzle/d1-password-prepared.ts +40 -42
- package/src/drizzle/d1-passwords.ts +76 -80
- package/src/drizzle/d1-phone.ts +5 -1
- package/src/drizzle/d1-proofs.ts +31 -34
- package/src/drizzle/d1-sessions.ts +53 -40
- package/src/drizzle/d1-totp.ts +5 -1
- package/src/drizzle/email-registration.ts +6 -2
- package/src/drizzle/email-target.ts +18 -20
- package/src/drizzle/model.ts +1 -208
- package/src/drizzle/mysql-database.ts +8 -0
- package/src/drizzle/mysql-emails.ts +29 -17
- package/src/drizzle/mysql-identity.ts +18 -21
- package/src/drizzle/mysql-password-prepared.ts +11 -9
- package/src/drizzle/mysql-passwords.ts +22 -10
- package/src/drizzle/mysql-proofs.ts +17 -6
- package/src/drizzle/mysql-sessions.ts +41 -18
- package/src/drizzle/native-database.ts +22 -0
- package/src/drizzle/oauth-connected-access.ts +8 -1
- package/src/drizzle/oauth-connected-drivers.ts +21 -6
- package/src/drizzle/oauth-connected-input.ts +13 -0
- package/src/drizzle/oauth-connected-model.ts +17 -0
- package/src/drizzle/oauth-connected-settlement.ts +65 -42
- package/src/drizzle/oauth-connected-sign-in.ts +438 -0
- package/src/drizzle/oauth-connected-state.ts +19 -7
- package/src/drizzle/oauth-connected-target.ts +26 -18
- package/src/drizzle/oauth-drivers.ts +26 -10
- package/src/drizzle/oauth-state.ts +5 -4
- package/src/drizzle/oauth-target.ts +31 -43
- package/src/drizzle/passkey-drivers.ts +21 -13
- package/src/drizzle/passkey-write-drivers.ts +11 -6
- package/src/drizzle/password-prepared-sql.ts +2 -4
- package/src/drizzle/password-prepared-target.ts +10 -7
- package/src/drizzle/password-registration.ts +7 -8
- package/src/drizzle/password-target.ts +20 -19
- package/src/drizzle/pg-database.ts +10 -0
- package/src/drizzle/pg-emails.ts +29 -17
- package/src/drizzle/pg-identity.ts +297 -0
- package/src/drizzle/pg-password-prepared.ts +11 -9
- package/src/drizzle/pg-passwords.ts +22 -10
- package/src/drizzle/pg-proofs.ts +17 -6
- package/src/drizzle/pg-sessions.ts +41 -18
- package/src/drizzle/phone-target.ts +23 -18
- package/src/drizzle/proof-target.ts +10 -13
- package/src/drizzle/session-target.ts +33 -51
- package/src/drizzle/sqlite-emails.ts +31 -14
- package/src/drizzle/sqlite-identity.ts +22 -42
- package/src/drizzle/sqlite-password-prepared.ts +24 -10
- package/src/drizzle/sqlite-passwords.ts +30 -16
- package/src/drizzle/sqlite-proofs.ts +29 -6
- package/src/drizzle/sqlite-sessions.ts +50 -24
- package/src/drizzle/standalone-guard.ts +19 -7
- package/src/drizzle/totp-target.ts +62 -61
- package/src/drizzle/transaction-mysql.ts +1 -1
- package/src/index.ts +0 -24
- package/src/internal/drizzle-postgres.ts +1 -1
- package/src/internal/drizzle-sqlite.ts +1 -1
- package/dist/drizzle/d1-identity.d.mts +0 -30
- package/dist/drizzle/mysql-identity.d.mts +0 -21
- package/dist/drizzle/mysql.d.mts +0 -69
- package/dist/drizzle/mysql.mjs +0 -218
- package/dist/drizzle/mysql.mjs.map +0 -1
- package/dist/drizzle/pg.d.mts +0 -80
- package/dist/drizzle/pg.mjs +0 -289
- package/dist/drizzle/pg.mjs.map +0 -1
- package/dist/drizzle/sqlite.d.mts +0 -77
- package/dist/drizzle/sqlite.mjs +0 -217
- package/dist/drizzle/sqlite.mjs.map +0 -1
- package/src/drizzle/mysql.ts +0 -687
- package/src/drizzle/pg.ts +0 -984
- package/src/drizzle/sqlite.ts +0 -705
package/src/Postgres.ts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import type { AnyRelations } from "drizzle-orm";
|
|
2
2
|
import { type EffectPgDatabase, makeWithDefaults } from "drizzle-orm/effect-postgres";
|
|
3
3
|
import type { AnyPgTable } from "drizzle-orm/pg-core";
|
|
4
|
-
import { Effect } from "effect";
|
|
5
|
-
|
|
6
|
-
import type {
|
|
4
|
+
import { Effect, Layer } from "effect";
|
|
5
|
+
|
|
6
|
+
import type {
|
|
7
|
+
IdentityTables,
|
|
8
|
+
SubjectProvisioningTables,
|
|
9
|
+
ExternalIdentityTables,
|
|
10
|
+
} from "./drizzle/model";
|
|
11
|
+
import { Database } from "./drizzle/pg-database";
|
|
7
12
|
import {
|
|
8
|
-
coordinatePgAuthStoreTransaction,
|
|
9
|
-
coordinatePgAuthTransaction,
|
|
10
|
-
coordinatePgOAuthStateTransaction,
|
|
11
|
-
makePgAuthServices,
|
|
12
|
-
makePgAuthStoreServices,
|
|
13
13
|
makePgExternalIdentityServices,
|
|
14
14
|
makePgIdentityServices,
|
|
15
|
-
makePgOAuthStateServices,
|
|
16
15
|
makePgSubjectProvisioningServices,
|
|
17
|
-
} from "./drizzle/pg";
|
|
16
|
+
} from "./drizzle/pg-identity";
|
|
17
|
+
|
|
18
|
+
export { Database } from "./drizzle/pg-database";
|
|
18
19
|
|
|
19
20
|
export {
|
|
20
21
|
coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority,
|
|
@@ -47,22 +48,24 @@ export {
|
|
|
47
48
|
makePgEmailSignInServices as makeEmailSignInServices,
|
|
48
49
|
} from "./drizzle/pg-emails";
|
|
49
50
|
|
|
50
|
-
export
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
};
|
|
51
|
+
export const makeSubjectProvisioningServices = <
|
|
52
|
+
Subject extends AnyPgTable,
|
|
53
|
+
Identifier extends AnyPgTable,
|
|
54
|
+
Request extends AnyPgTable,
|
|
55
|
+
NativeId,
|
|
56
|
+
>(
|
|
57
|
+
mapping: SubjectProvisioningTables<Subject, Identifier, Request, NativeId>,
|
|
58
|
+
) => makePgSubjectProvisioningServices(mapping);
|
|
59
59
|
|
|
60
|
-
export const
|
|
60
|
+
export const makeExternalIdentityServices = <
|
|
61
|
+
Subject extends AnyPgTable,
|
|
62
|
+
External extends AnyPgTable,
|
|
63
|
+
NativeId,
|
|
64
|
+
>(
|
|
65
|
+
mapping: ExternalIdentityTables<Subject, External, NativeId>,
|
|
66
|
+
) => makePgExternalIdentityServices(mapping);
|
|
61
67
|
|
|
62
|
-
export const
|
|
63
|
-
database: EffectPgDatabase<AnyRelations>,
|
|
64
|
-
mapping: AuthTables<C, R, S>,
|
|
65
|
-
) => makePgAuthServices(database, mapping);
|
|
68
|
+
export const commitMode = "interactive" as const;
|
|
66
69
|
|
|
67
70
|
export const makeIdentityServices = <
|
|
68
71
|
Subject extends AnyPgTable,
|
|
@@ -71,9 +74,8 @@ export const makeIdentityServices = <
|
|
|
71
74
|
Request extends AnyPgTable,
|
|
72
75
|
NativeId,
|
|
73
76
|
>(
|
|
74
|
-
database: EffectPgDatabase<AnyRelations>,
|
|
75
77
|
mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,
|
|
76
|
-
) => makePgIdentityServices(
|
|
78
|
+
) => makePgIdentityServices(mapping);
|
|
77
79
|
|
|
78
80
|
export {
|
|
79
81
|
makePgSessionStepUpServices as makeSessionStepUpServices,
|
|
@@ -90,7 +92,11 @@ export { passwordPreparedPersistenceLayer } from "./drizzle/password-prepared-ta
|
|
|
90
92
|
import { makeOAuthTarget } from "./drizzle/oauth-drivers";
|
|
91
93
|
import { sqlClientOAuthStandaloneGuard } from "./drizzle/oauth-target";
|
|
92
94
|
|
|
93
|
-
const oauthTarget = makeOAuthTarget<
|
|
95
|
+
const oauthTarget = makeOAuthTarget<
|
|
96
|
+
Database,
|
|
97
|
+
EffectPgDatabase<AnyRelations>,
|
|
98
|
+
AnyPgTable<{ dialect: "pg" }>
|
|
99
|
+
>(Database, {
|
|
94
100
|
mode: "interactive",
|
|
95
101
|
dialect: "pg",
|
|
96
102
|
locking: true,
|
|
@@ -116,9 +122,10 @@ import { makePasskeyTarget } from "./drizzle/passkey-drivers";
|
|
|
116
122
|
import { sqlClientPasskeyStandaloneGuard } from "./drizzle/passkey-target";
|
|
117
123
|
|
|
118
124
|
const passkeyTarget = makePasskeyTarget<
|
|
125
|
+
Database,
|
|
119
126
|
EffectPgDatabase<AnyRelations>,
|
|
120
127
|
AnyPgTable<{ dialect: "pg" }>
|
|
121
|
-
>({
|
|
128
|
+
>(Database, {
|
|
122
129
|
mode: "interactive",
|
|
123
130
|
dialect: "pg",
|
|
124
131
|
locking: true,
|
|
@@ -140,7 +147,11 @@ export const {
|
|
|
140
147
|
|
|
141
148
|
import { makeTotpTarget, sqlClientTotpStandaloneGuard } from "./drizzle/totp-target";
|
|
142
149
|
|
|
143
|
-
const totpTarget = makeTotpTarget<
|
|
150
|
+
const totpTarget = makeTotpTarget<
|
|
151
|
+
Database,
|
|
152
|
+
EffectPgDatabase<AnyRelations>,
|
|
153
|
+
AnyPgTable<{ dialect: "pg" }>
|
|
154
|
+
>(Database, {
|
|
144
155
|
mode: "interactive",
|
|
145
156
|
dialect: "pg",
|
|
146
157
|
locking: true,
|
|
@@ -151,7 +162,11 @@ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTa
|
|
|
151
162
|
|
|
152
163
|
import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target";
|
|
153
164
|
|
|
154
|
-
const phoneTarget = makePhoneTarget<
|
|
165
|
+
const phoneTarget = makePhoneTarget<
|
|
166
|
+
Database,
|
|
167
|
+
EffectPgDatabase<AnyRelations>,
|
|
168
|
+
AnyPgTable<{ dialect: "pg" }>
|
|
169
|
+
>(Database, {
|
|
155
170
|
mode: "interactive",
|
|
156
171
|
dialect: "pg",
|
|
157
172
|
locking: true,
|
|
@@ -172,3 +187,6 @@ export const AuthPersistence = {
|
|
|
172
187
|
),
|
|
173
188
|
),
|
|
174
189
|
};
|
|
190
|
+
|
|
191
|
+
/** Construct Drizzle from the driver's SQL-client Layer. */
|
|
192
|
+
export const databaseLayer = Layer.effect(Database, makeWithDefaults({}));
|
package/src/SqliteBun.ts
CHANGED
|
@@ -1,32 +1,25 @@
|
|
|
1
|
+
import { NativeDatabase } from "@yielded/auth-persistence/Adapter";
|
|
1
2
|
import type { AnyRelations } from "drizzle-orm";
|
|
2
3
|
import { type EffectSQLiteBunDatabase, makeWithDefaults } from "drizzle-orm/effect-sqlite-bun";
|
|
3
4
|
import type { AnySQLiteTable } from "drizzle-orm/sqlite-core";
|
|
4
|
-
import { Effect } from "effect";
|
|
5
|
+
import { Context, Effect, Layer } from "effect";
|
|
5
6
|
|
|
7
|
+
import { nativeDatabase } from "./drizzle/native-database";
|
|
8
|
+
|
|
9
|
+
/** The application-owned Drizzle database used to construct persistence services. */
|
|
10
|
+
export class Database extends Context.Service<Database, EffectSQLiteBunDatabase<AnyRelations>>()(
|
|
11
|
+
"effect-auth/persistence-drizzle/SqliteBun/Database",
|
|
12
|
+
) {}
|
|
13
|
+
|
|
14
|
+
/** Construct Drizzle from the driver's SQL-client Layer. */
|
|
15
|
+
export const databaseLayer = Layer.effect(Database, makeWithDefaults({}));
|
|
16
|
+
|
|
17
|
+
import { sqlClientEmailStandaloneGuard } from "./drizzle/email-target";
|
|
6
18
|
import type {
|
|
7
|
-
AuthStoreTables,
|
|
8
|
-
AuthTables,
|
|
9
19
|
ExternalIdentityTables,
|
|
10
20
|
IdentityTables,
|
|
11
|
-
OAuthStateTables,
|
|
12
21
|
SubjectProvisioningTables,
|
|
13
22
|
} from "./drizzle/model";
|
|
14
|
-
import {
|
|
15
|
-
coordinateSqliteAuthStoreTransaction,
|
|
16
|
-
coordinateSqliteAuthTransaction,
|
|
17
|
-
coordinateSqliteOAuthStateTransaction,
|
|
18
|
-
makeSqliteAuthServices,
|
|
19
|
-
makeSqliteAuthStoreServices,
|
|
20
|
-
makeSqliteOAuthStateServices,
|
|
21
|
-
} from "./drizzle/sqlite";
|
|
22
|
-
|
|
23
|
-
export {
|
|
24
|
-
coordinateSqliteAuthStoreTransaction as coordinateAuthStoreTransaction,
|
|
25
|
-
coordinateSqliteAuthTransaction as coordinateAuthTransaction,
|
|
26
|
-
coordinateSqliteOAuthStateTransaction as coordinateOAuthStateTransaction,
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
import { sqlClientEmailStandaloneGuard } from "./drizzle/email-target";
|
|
30
23
|
import { sqlClientPasswordStandaloneGuard } from "./drizzle/password-target";
|
|
31
24
|
import { sqlClientProofStandaloneGuard } from "./drizzle/proof-target";
|
|
32
25
|
import { sqlClientSessionStandaloneGuard } from "./drizzle/session-target";
|
|
@@ -40,28 +33,34 @@ import { makeSqlitePasswordTarget, sqlitePasswordConfiguration } from "./drizzle
|
|
|
40
33
|
import { makeSqliteProofTarget, sqliteProofConfiguration } from "./drizzle/sqlite-proofs";
|
|
41
34
|
import { makeSqliteSessionTarget, sqliteSessionConfiguration } from "./drizzle/sqlite-sessions";
|
|
42
35
|
|
|
43
|
-
const sessionTarget = makeSqliteSessionTarget<EffectSQLiteBunDatabase<AnyRelations>>(
|
|
44
|
-
|
|
36
|
+
const sessionTarget = makeSqliteSessionTarget<Database, EffectSQLiteBunDatabase<AnyRelations>>(
|
|
37
|
+
Database,
|
|
38
|
+
(service) => sqliteSessionConfiguration("interactive", sqlClientSessionStandaloneGuard(service)),
|
|
45
39
|
);
|
|
46
40
|
|
|
47
|
-
const proofTarget = makeSqliteProofTarget<EffectSQLiteBunDatabase<AnyRelations>>(
|
|
48
|
-
|
|
41
|
+
const proofTarget = makeSqliteProofTarget<Database, EffectSQLiteBunDatabase<AnyRelations>>(
|
|
42
|
+
Database,
|
|
43
|
+
(service) => sqliteProofConfiguration("interactive", sqlClientProofStandaloneGuard(service)),
|
|
49
44
|
);
|
|
50
45
|
|
|
51
|
-
const passwordTarget = makeSqlitePasswordTarget<EffectSQLiteBunDatabase<AnyRelations>>(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
46
|
+
const passwordTarget = makeSqlitePasswordTarget<Database, EffectSQLiteBunDatabase<AnyRelations>>(
|
|
47
|
+
Database,
|
|
48
|
+
(service) =>
|
|
49
|
+
sqlitePasswordConfiguration(
|
|
50
|
+
"interactive",
|
|
51
|
+
sqlClientPasswordStandaloneGuard(service),
|
|
52
|
+
sqlClientProofStandaloneGuard(service),
|
|
53
|
+
),
|
|
57
54
|
);
|
|
58
55
|
|
|
59
|
-
const emailTarget = makeSqliteEmailTarget<EffectSQLiteBunDatabase<AnyRelations>>(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
const emailTarget = makeSqliteEmailTarget<Database, EffectSQLiteBunDatabase<AnyRelations>>(
|
|
57
|
+
Database,
|
|
58
|
+
(service) =>
|
|
59
|
+
sqliteEmailConfiguration(
|
|
60
|
+
"interactive",
|
|
61
|
+
sqlClientEmailStandaloneGuard(service),
|
|
62
|
+
sqlClientProofStandaloneGuard(service),
|
|
63
|
+
),
|
|
65
64
|
);
|
|
66
65
|
|
|
67
66
|
export const {
|
|
@@ -96,25 +95,6 @@ export const {
|
|
|
96
95
|
|
|
97
96
|
export const commitMode = "interactive" as const;
|
|
98
97
|
|
|
99
|
-
export const makeAuthStoreServices = <C extends AnySQLiteTable, R extends AnySQLiteTable>(
|
|
100
|
-
database: EffectSQLiteBunDatabase<AnyRelations>,
|
|
101
|
-
mapping: AuthStoreTables<C, R>,
|
|
102
|
-
) => makeSqliteAuthStoreServices(database, mapping);
|
|
103
|
-
|
|
104
|
-
export const makeOAuthStateServices = <S extends AnySQLiteTable>(
|
|
105
|
-
database: EffectSQLiteBunDatabase<AnyRelations>,
|
|
106
|
-
mapping: OAuthStateTables<S>,
|
|
107
|
-
) => makeSqliteOAuthStateServices(database, mapping);
|
|
108
|
-
|
|
109
|
-
export const makeAuthServices = <
|
|
110
|
-
C extends AnySQLiteTable,
|
|
111
|
-
R extends AnySQLiteTable,
|
|
112
|
-
S extends AnySQLiteTable,
|
|
113
|
-
>(
|
|
114
|
-
database: EffectSQLiteBunDatabase<AnyRelations>,
|
|
115
|
-
mapping: AuthTables<C, R, S>,
|
|
116
|
-
) => makeSqliteAuthServices(database, mapping);
|
|
117
|
-
|
|
118
98
|
export const makeIdentityServices = <
|
|
119
99
|
Subject extends AnySQLiteTable,
|
|
120
100
|
Identifier extends AnySQLiteTable,
|
|
@@ -122,9 +102,11 @@ export const makeIdentityServices = <
|
|
|
122
102
|
Request extends AnySQLiteTable,
|
|
123
103
|
NativeId,
|
|
124
104
|
>(
|
|
125
|
-
database: EffectSQLiteBunDatabase<AnyRelations>,
|
|
126
105
|
mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,
|
|
127
|
-
) =>
|
|
106
|
+
) =>
|
|
107
|
+
makeSqliteIdentityServices(mapping, "interactive").pipe(
|
|
108
|
+
Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)),
|
|
109
|
+
);
|
|
128
110
|
|
|
129
111
|
export const makeSubjectProvisioningServices = <
|
|
130
112
|
Subject extends AnySQLiteTable,
|
|
@@ -132,28 +114,33 @@ export const makeSubjectProvisioningServices = <
|
|
|
132
114
|
Request extends AnySQLiteTable,
|
|
133
115
|
NativeId,
|
|
134
116
|
>(
|
|
135
|
-
database: EffectSQLiteBunDatabase<AnyRelations>,
|
|
136
117
|
mapping: SubjectProvisioningTables<Subject, Identifier, Request, NativeId>,
|
|
137
|
-
) =>
|
|
118
|
+
) =>
|
|
119
|
+
makeSqliteSubjectProvisioningServices(mapping, "interactive").pipe(
|
|
120
|
+
Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)),
|
|
121
|
+
);
|
|
138
122
|
|
|
139
123
|
export const makeExternalIdentityServices = <
|
|
140
124
|
Subject extends AnySQLiteTable,
|
|
141
125
|
External extends AnySQLiteTable,
|
|
142
126
|
NativeId,
|
|
143
127
|
>(
|
|
144
|
-
database: EffectSQLiteBunDatabase<AnyRelations>,
|
|
145
128
|
mapping: ExternalIdentityTables<Subject, External, NativeId>,
|
|
146
|
-
) =>
|
|
129
|
+
) =>
|
|
130
|
+
makeSqliteExternalIdentityServices(mapping).pipe(
|
|
131
|
+
Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)),
|
|
132
|
+
);
|
|
147
133
|
|
|
148
134
|
import { makeSqlitePasswordPreparedTarget } from "./drizzle/sqlite-password-prepared";
|
|
149
135
|
|
|
150
136
|
const passwordPreparedTarget = makeSqlitePasswordPreparedTarget<
|
|
137
|
+
Database,
|
|
151
138
|
EffectSQLiteBunDatabase<AnyRelations>
|
|
152
|
-
>((
|
|
139
|
+
>(Database, (service) =>
|
|
153
140
|
sqlitePasswordConfiguration(
|
|
154
141
|
"interactive",
|
|
155
|
-
sqlClientPasswordStandaloneGuard(
|
|
156
|
-
sqlClientProofStandaloneGuard(
|
|
142
|
+
sqlClientPasswordStandaloneGuard(service),
|
|
143
|
+
sqlClientProofStandaloneGuard(service),
|
|
157
144
|
),
|
|
158
145
|
);
|
|
159
146
|
|
|
@@ -166,9 +153,10 @@ import { makeOAuthTarget } from "./drizzle/oauth-drivers";
|
|
|
166
153
|
import { sqlClientOAuthStandaloneGuard } from "./drizzle/oauth-target";
|
|
167
154
|
|
|
168
155
|
const oauthTarget = makeOAuthTarget<
|
|
156
|
+
Database,
|
|
169
157
|
EffectSQLiteBunDatabase<AnyRelations>,
|
|
170
158
|
AnySQLiteTable<{ dialect: "sqlite" }>
|
|
171
|
-
>({
|
|
159
|
+
>(Database, {
|
|
172
160
|
mode: "interactive",
|
|
173
161
|
dialect: "sqlite",
|
|
174
162
|
locking: false,
|
|
@@ -194,9 +182,10 @@ import { makePasskeyTarget } from "./drizzle/passkey-drivers";
|
|
|
194
182
|
import { sqlClientPasskeyStandaloneGuard } from "./drizzle/passkey-target";
|
|
195
183
|
|
|
196
184
|
const passkeyTarget = makePasskeyTarget<
|
|
185
|
+
Database,
|
|
197
186
|
EffectSQLiteBunDatabase<AnyRelations>,
|
|
198
187
|
AnySQLiteTable<{ dialect: "sqlite" }>
|
|
199
|
-
>({
|
|
188
|
+
>(Database, {
|
|
200
189
|
mode: "interactive",
|
|
201
190
|
dialect: "sqlite",
|
|
202
191
|
locking: false,
|
|
@@ -219,9 +208,10 @@ export const {
|
|
|
219
208
|
import { makeTotpTarget, sqlClientTotpStandaloneGuard } from "./drizzle/totp-target";
|
|
220
209
|
|
|
221
210
|
const totpTarget = makeTotpTarget<
|
|
211
|
+
Database,
|
|
222
212
|
EffectSQLiteBunDatabase<AnyRelations>,
|
|
223
213
|
AnySQLiteTable<{ dialect: "sqlite" }>
|
|
224
|
-
>({
|
|
214
|
+
>(Database, {
|
|
225
215
|
mode: "interactive",
|
|
226
216
|
dialect: "sqlite",
|
|
227
217
|
locking: false,
|
|
@@ -233,9 +223,10 @@ export const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTa
|
|
|
233
223
|
import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target";
|
|
234
224
|
|
|
235
225
|
const phoneTarget = makePhoneTarget<
|
|
226
|
+
Database,
|
|
236
227
|
EffectSQLiteBunDatabase<AnyRelations>,
|
|
237
228
|
AnySQLiteTable<{ dialect: "sqlite" }>
|
|
238
|
-
>({
|
|
229
|
+
>(Database, {
|
|
239
230
|
mode: "interactive",
|
|
240
231
|
dialect: "sqlite",
|
|
241
232
|
locking: false,
|