@yielded/auth-persistence-drizzle 0.1.0-beta.24 → 0.1.0-beta.26
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 +4 -2
- package/dist/D1.d.mts +495 -1151
- package/dist/D1.mjs +41 -19
- package/dist/D1.mjs.map +1 -1
- package/dist/Libsql.d.mts +385 -1996
- package/dist/Libsql.mjs +43 -47
- package/dist/Libsql.mjs.map +1 -1
- package/dist/Mysql2.d.mts +397 -1743
- package/dist/Mysql2.mjs +35 -41
- package/dist/Mysql2.mjs.map +1 -1
- package/dist/Pglite.d.mts +397 -1743
- package/dist/Pglite.mjs +42 -31
- package/dist/Pglite.mjs.map +1 -1
- package/dist/Postgres.d.mts +397 -1743
- package/dist/Postgres.mjs +42 -31
- package/dist/Postgres.mjs.map +1 -1
- package/dist/SqliteBun.d.mts +385 -1992
- package/dist/SqliteBun.mjs +43 -43
- package/dist/SqliteBun.mjs.map +1 -1
- package/dist/SqliteDo.d.mts +385 -1991
- package/dist/SqliteDo.mjs +42 -41
- package/dist/SqliteDo.mjs.map +1 -1
- package/dist/SqliteNode.d.mts +385 -1992
- package/dist/SqliteNode.mjs +43 -43
- package/dist/SqliteNode.mjs.map +1 -1
- package/dist/SqliteWasm.d.mts +385 -1992
- package/dist/SqliteWasm.mjs +43 -43
- package/dist/SqliteWasm.mjs.map +1 -1
- package/dist/drizzle/d1-identity.mjs +2 -2
- package/dist/drizzle/d1-identity.mjs.map +1 -1
- package/dist/drizzle/driver-types.d.mts +15 -0
- package/dist/drizzle/email-drivers.mjs +32 -0
- package/dist/drizzle/email-drivers.mjs.map +1 -0
- package/dist/drizzle/email-model.d.mts +9 -13
- package/dist/drizzle/email-target.d.mts +10 -11
- package/dist/drizzle/email-target.mjs +33 -70
- package/dist/drizzle/email-target.mjs.map +1 -1
- package/dist/drizzle/model.d.mts +1 -10
- package/dist/drizzle/model.mjs +1 -2
- package/dist/drizzle/model.mjs.map +1 -1
- package/dist/drizzle/mysql-identity.mjs +3 -6
- package/dist/drizzle/mysql-identity.mjs.map +1 -1
- package/dist/drizzle/native-clock.d.mts +9 -0
- package/dist/drizzle/native-clock.mjs +18 -0
- package/dist/drizzle/native-clock.mjs.map +1 -0
- package/dist/drizzle/native-database.d.mts +46 -0
- package/dist/drizzle/native-database.mjs +6 -5
- package/dist/drizzle/native-database.mjs.map +1 -1
- package/dist/drizzle/native-sql-table.mjs +13 -5
- package/dist/drizzle/native-sql-table.mjs.map +1 -1
- package/dist/drizzle/native-target.d.mts +6 -0
- package/dist/drizzle/native-target.mjs +44 -0
- package/dist/drizzle/native-target.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-drivers.mjs +4 -56
- package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-model.d.mts +5 -22
- package/dist/drizzle/oauth-connected-model.mjs +1 -7
- package/dist/drizzle/oauth-connected-reference.d.mts +5 -7
- package/dist/drizzle/oauth-connected-reference.mjs +11 -3
- package/dist/drizzle/oauth-connected-reference.mjs.map +1 -1
- package/dist/drizzle/oauth-drivers.mjs +1 -2
- package/dist/drizzle/oauth-drivers.mjs.map +1 -1
- package/dist/drizzle/oauth-model.d.mts +11 -37
- package/dist/drizzle/oauth-model.mjs +3 -4
- package/dist/drizzle/oauth-model.mjs.map +1 -1
- package/dist/drizzle/oauth-proxy.d.mts +1 -1
- package/dist/drizzle/oauth-proxy.mjs +1 -1
- package/dist/drizzle/oauth-target.d.mts +9 -6
- package/dist/drizzle/oauth-target.mjs +47 -15
- package/dist/drizzle/oauth-target.mjs.map +1 -1
- package/dist/drizzle/passkey/target.d.mts +14 -0
- package/dist/drizzle/passkey/target.mjs +52 -0
- package/dist/drizzle/passkey/target.mjs.map +1 -0
- package/dist/drizzle/passkey/write-target.d.mts +11 -0
- package/dist/drizzle/passkey/write-target.mjs +28 -0
- package/dist/drizzle/passkey/write-target.mjs.map +1 -0
- package/dist/drizzle/passkey-drivers.mjs +2 -4
- package/dist/drizzle/passkey-drivers.mjs.map +1 -1
- package/dist/drizzle/passkey-model.d.mts +5 -26
- package/dist/drizzle/passkey-model.mjs +2 -8
- package/dist/drizzle/passkey-registration-ceremony-model.d.mts +3 -6
- package/dist/drizzle/passkey-write-drivers.mjs +2 -3
- package/dist/drizzle/passkey-write-drivers.mjs.map +1 -1
- package/dist/drizzle/passkey-write-model.d.mts +7 -9
- package/dist/drizzle/passkey-write-model.mjs +1 -3
- package/dist/drizzle/passkey-write-model.mjs.map +1 -1
- package/dist/drizzle/password-drivers.mjs +31 -0
- package/dist/drizzle/password-drivers.mjs.map +1 -0
- package/dist/drizzle/password-model.d.mts +7 -10
- package/dist/drizzle/password-target.d.mts +7 -8
- package/dist/drizzle/password-target.mjs +23 -68
- package/dist/drizzle/password-target.mjs.map +1 -1
- package/dist/drizzle/pg-identity.mjs +3 -6
- package/dist/drizzle/pg-identity.mjs.map +1 -1
- package/dist/drizzle/phone-drivers.mjs +24 -0
- package/dist/drizzle/phone-drivers.mjs.map +1 -0
- package/dist/drizzle/phone-model.d.mts +13 -104
- package/dist/drizzle/phone-model.mjs +5 -33
- package/dist/drizzle/phone-model.mjs.map +1 -1
- package/dist/drizzle/phone-target.mjs +22 -171
- package/dist/drizzle/phone-target.mjs.map +1 -1
- package/dist/drizzle/proof-drivers.mjs +24 -0
- package/dist/drizzle/proof-drivers.mjs.map +1 -0
- package/dist/drizzle/proof-model.d.mts +7 -15
- package/dist/drizzle/proof-target.d.mts +5 -5
- package/dist/drizzle/proof-target.mjs +14 -28
- package/dist/drizzle/proof-target.mjs.map +1 -1
- package/dist/drizzle/session-drivers.mjs +97 -0
- package/dist/drizzle/session-drivers.mjs.map +1 -0
- package/dist/drizzle/session-model.d.mts +11 -22
- package/dist/drizzle/sqlite-do-database.d.mts +3 -3
- package/dist/drizzle/sqlite-do-database.mjs +6 -1
- package/dist/drizzle/sqlite-do-database.mjs.map +1 -1
- package/dist/drizzle/sqlite-identity.mjs +3 -5
- package/dist/drizzle/sqlite-identity.mjs.map +1 -1
- package/dist/drizzle/step-up-model.d.mts +2 -5
- package/dist/drizzle/storage-validation.mjs +2 -1
- package/dist/drizzle/storage-validation.mjs.map +1 -1
- package/dist/drizzle/totp-model.d.mts +7 -74
- package/dist/drizzle/totp-model.mjs +1 -5
- package/dist/drizzle/totp-model.mjs.map +1 -1
- package/dist/drizzle/totp-target.mjs +39 -75
- package/dist/drizzle/totp-target.mjs.map +1 -1
- package/dist/drizzle/transaction-handle.mjs +13 -0
- package/dist/drizzle/transaction-handle.mjs.map +1 -0
- package/dist/drizzle/transaction-mysql.mjs +43 -12
- package/dist/drizzle/transaction-mysql.mjs.map +1 -1
- package/dist/index.d.mts +17 -22
- package/dist/index.mjs +10 -16
- package/dist/internal/drizzle-postgres.mjs +4 -6
- package/dist/internal/drizzle-postgres.mjs.map +1 -1
- package/dist/internal/drizzle-sqlite.mjs +4 -6
- package/dist/internal/drizzle-sqlite.mjs.map +1 -1
- package/package.json +1 -1
- package/src/D1.ts +77 -74
- package/src/Libsql.ts +65 -105
- package/src/Mysql2.ts +52 -87
- package/src/Pglite.ts +74 -81
- package/src/Postgres.ts +74 -81
- package/src/SqliteBun.ts +65 -113
- package/src/SqliteDo.ts +58 -106
- package/src/SqliteNode.ts +65 -113
- package/src/SqliteWasm.ts +65 -113
- package/src/drizzle/d1-identity.ts +2 -2
- package/src/drizzle/driver-types.ts +26 -0
- package/src/drizzle/email-drivers.ts +320 -0
- package/src/drizzle/email-model.ts +24 -78
- package/src/drizzle/email-target.ts +118 -211
- package/src/drizzle/model.ts +0 -2
- package/src/drizzle/mysql-identity.ts +4 -24
- package/src/drizzle/native-clock.ts +21 -0
- package/src/drizzle/native-database.ts +59 -18
- package/src/drizzle/native-sql-table.ts +104 -87
- package/src/drizzle/native-target.ts +120 -0
- package/src/drizzle/oauth-connected-drivers.ts +24 -233
- package/src/drizzle/oauth-connected-model.ts +3 -93
- package/src/drizzle/oauth-connected-reference.ts +16 -25
- package/src/drizzle/oauth-drivers.ts +58 -99
- package/src/drizzle/oauth-model.ts +27 -132
- package/src/drizzle/oauth-target.ts +250 -33
- package/src/drizzle/passkey/target.ts +205 -0
- package/src/drizzle/passkey/write-target.ts +91 -0
- package/src/drizzle/passkey-drivers.ts +35 -133
- package/src/drizzle/passkey-model.ts +3 -81
- package/src/drizzle/passkey-registration-ceremony-model.ts +5 -25
- package/src/drizzle/passkey-write-drivers.ts +32 -102
- package/src/drizzle/passkey-write-model.ts +10 -44
- package/src/drizzle/password-drivers.ts +286 -0
- package/src/drizzle/password-model.ts +10 -44
- package/src/drizzle/password-target.ts +85 -239
- package/src/drizzle/pg-identity.ts +4 -19
- package/src/drizzle/phone-drivers.ts +142 -0
- package/src/drizzle/phone-model.ts +22 -162
- package/src/drizzle/phone-target.ts +51 -493
- package/src/drizzle/proof-drivers.ts +123 -0
- package/src/drizzle/proof-model.ts +12 -123
- package/src/drizzle/proof-target.ts +38 -102
- package/src/drizzle/session-drivers.ts +696 -0
- package/src/drizzle/session-model.ts +54 -118
- package/src/drizzle/sqlite-do-database.ts +8 -0
- package/src/drizzle/sqlite-identity.ts +4 -22
- package/src/drizzle/step-up-model.ts +13 -37
- package/src/drizzle/storage-validation.ts +2 -1
- package/src/drizzle/totp-model.ts +20 -77
- package/src/drizzle/totp-target.ts +121 -261
- package/src/drizzle/transaction-handle.ts +41 -0
- package/src/drizzle/transaction-mysql.ts +90 -25
- package/src/index.ts +7 -122
- package/src/internal/drizzle-postgres.ts +4 -7
- package/src/internal/drizzle-sqlite.ts +4 -7
- package/dist/drizzle/crypto.mjs +0 -11
- package/dist/drizzle/crypto.mjs.map +0 -1
- package/dist/drizzle/d1-emails.d.mts +0 -62
- package/dist/drizzle/d1-emails.mjs +0 -626
- package/dist/drizzle/d1-emails.mjs.map +0 -1
- package/dist/drizzle/d1-generated-statement.mjs +0 -79
- package/dist/drizzle/d1-generated-statement.mjs.map +0 -1
- package/dist/drizzle/d1-oauth.d.mts +0 -331
- package/dist/drizzle/d1-oauth.mjs +0 -79
- package/dist/drizzle/d1-oauth.mjs.map +0 -1
- package/dist/drizzle/d1-passkey.d.mts +0 -37
- package/dist/drizzle/d1-passkey.mjs +0 -98
- package/dist/drizzle/d1-passkey.mjs.map +0 -1
- package/dist/drizzle/d1-password-prepared.d.mts +0 -25
- package/dist/drizzle/d1-password-prepared.mjs +0 -473
- package/dist/drizzle/d1-password-prepared.mjs.map +0 -1
- package/dist/drizzle/d1-passwords.d.mts +0 -70
- package/dist/drizzle/d1-passwords.mjs +0 -808
- package/dist/drizzle/d1-passwords.mjs.map +0 -1
- package/dist/drizzle/d1-phone.d.mts +0 -23
- package/dist/drizzle/d1-phone.mjs +0 -33
- package/dist/drizzle/d1-phone.mjs.map +0 -1
- package/dist/drizzle/d1-planning.d.mts +0 -11
- package/dist/drizzle/d1-planning.mjs +0 -43
- package/dist/drizzle/d1-planning.mjs.map +0 -1
- package/dist/drizzle/d1-proofs.d.mts +0 -80
- package/dist/drizzle/d1-proofs.mjs +0 -842
- package/dist/drizzle/d1-proofs.mjs.map +0 -1
- package/dist/drizzle/d1-sessions.d.mts +0 -68
- package/dist/drizzle/d1-sessions.mjs +0 -987
- package/dist/drizzle/d1-sessions.mjs.map +0 -1
- package/dist/drizzle/d1-totp.d.mts +0 -23
- package/dist/drizzle/d1-totp.mjs +0 -30
- package/dist/drizzle/d1-totp.mjs.map +0 -1
- package/dist/drizzle/email-registration.d.mts +0 -33
- package/dist/drizzle/email-registration.mjs +0 -281
- package/dist/drizzle/email-registration.mjs.map +0 -1
- package/dist/drizzle/email-sql.d.mts +0 -1
- package/dist/drizzle/email-sql.mjs +0 -9
- package/dist/drizzle/email-sql.mjs.map +0 -1
- package/dist/drizzle/mysql-emails.d.mts +0 -71
- package/dist/drizzle/mysql-emails.mjs +0 -43
- package/dist/drizzle/mysql-emails.mjs.map +0 -1
- package/dist/drizzle/mysql-password-prepared.d.mts +0 -30
- package/dist/drizzle/mysql-password-prepared.mjs +0 -21
- package/dist/drizzle/mysql-password-prepared.mjs.map +0 -1
- package/dist/drizzle/mysql-passwords.d.mts +0 -71
- package/dist/drizzle/mysql-passwords.mjs +0 -43
- package/dist/drizzle/mysql-passwords.mjs.map +0 -1
- package/dist/drizzle/mysql-proofs.d.mts +0 -75
- package/dist/drizzle/mysql-proofs.mjs +0 -28
- package/dist/drizzle/mysql-proofs.mjs.map +0 -1
- package/dist/drizzle/mysql-sessions.d.mts +0 -92
- package/dist/drizzle/mysql-sessions.mjs +0 -58
- package/dist/drizzle/mysql-sessions.mjs.map +0 -1
- package/dist/drizzle/oauth-connected-model.mjs.map +0 -1
- package/dist/drizzle/oauth-connected-target.d.mts +0 -6
- package/dist/drizzle/oauth-connected-target.mjs +0 -12
- package/dist/drizzle/oauth-connected-target.mjs.map +0 -1
- package/dist/drizzle/oauth-kernel.mjs +0 -11
- package/dist/drizzle/oauth-kernel.mjs.map +0 -1
- package/dist/drizzle/oauth-mysql.mjs +0 -8
- package/dist/drizzle/oauth-mysql.mjs.map +0 -1
- package/dist/drizzle/passkey-kernel.mjs +0 -8
- package/dist/drizzle/passkey-kernel.mjs.map +0 -1
- package/dist/drizzle/passkey-model.mjs.map +0 -1
- package/dist/drizzle/passkey-registration-ceremony-model.mjs +0 -2
- package/dist/drizzle/passkey-state.mjs +0 -7
- package/dist/drizzle/passkey-state.mjs.map +0 -1
- package/dist/drizzle/passkey-target.d.mts +0 -2
- package/dist/drizzle/passkey-target.mjs +0 -7
- package/dist/drizzle/passkey-target.mjs.map +0 -1
- package/dist/drizzle/passkey-write-target.d.mts +0 -5
- package/dist/drizzle/passkey-write-target.mjs +0 -7
- package/dist/drizzle/passkey-write-target.mjs.map +0 -1
- package/dist/drizzle/password-prepared-model.d.mts +0 -92
- package/dist/drizzle/password-prepared-model.mjs +0 -11
- package/dist/drizzle/password-prepared-model.mjs.map +0 -1
- package/dist/drizzle/password-prepared-sql.mjs +0 -395
- package/dist/drizzle/password-prepared-sql.mjs.map +0 -1
- package/dist/drizzle/password-prepared-state.mjs +0 -104
- package/dist/drizzle/password-prepared-state.mjs.map +0 -1
- package/dist/drizzle/password-prepared-target.d.mts +0 -13
- package/dist/drizzle/password-prepared-target.mjs +0 -62
- package/dist/drizzle/password-prepared-target.mjs.map +0 -1
- package/dist/drizzle/password-registration.d.mts +0 -7
- package/dist/drizzle/password-registration.mjs +0 -137
- package/dist/drizzle/password-registration.mjs.map +0 -1
- package/dist/drizzle/password-sql.d.mts +0 -1
- package/dist/drizzle/password-sql.mjs +0 -10
- package/dist/drizzle/password-sql.mjs.map +0 -1
- package/dist/drizzle/pg-emails.d.mts +0 -72
- package/dist/drizzle/pg-emails.mjs +0 -43
- package/dist/drizzle/pg-emails.mjs.map +0 -1
- package/dist/drizzle/pg-password-prepared.d.mts +0 -31
- package/dist/drizzle/pg-password-prepared.mjs +0 -21
- package/dist/drizzle/pg-password-prepared.mjs.map +0 -1
- package/dist/drizzle/pg-passwords.d.mts +0 -72
- package/dist/drizzle/pg-passwords.mjs +0 -43
- package/dist/drizzle/pg-passwords.mjs.map +0 -1
- package/dist/drizzle/pg-proofs.d.mts +0 -76
- package/dist/drizzle/pg-proofs.mjs +0 -27
- package/dist/drizzle/pg-proofs.mjs.map +0 -1
- package/dist/drizzle/pg-sessions.d.mts +0 -93
- package/dist/drizzle/pg-sessions.mjs +0 -58
- package/dist/drizzle/pg-sessions.mjs.map +0 -1
- package/dist/drizzle/phone-state.mjs +0 -14
- package/dist/drizzle/phone-state.mjs.map +0 -1
- package/dist/drizzle/phone-target.d.mts +0 -15
- package/dist/drizzle/proof-sql.d.mts +0 -1
- package/dist/drizzle/proof-sql.mjs +0 -8
- package/dist/drizzle/proof-sql.mjs.map +0 -1
- package/dist/drizzle/query-operations.mjs +0 -31
- package/dist/drizzle/query-operations.mjs.map +0 -1
- package/dist/drizzle/session-sql.d.mts +0 -1
- package/dist/drizzle/session-sql.mjs +0 -9
- package/dist/drizzle/session-sql.mjs.map +0 -1
- package/dist/drizzle/session-target.d.mts +0 -30
- package/dist/drizzle/session-target.mjs +0 -49
- package/dist/drizzle/session-target.mjs.map +0 -1
- package/dist/drizzle/sqlite-emails.mjs +0 -50
- package/dist/drizzle/sqlite-emails.mjs.map +0 -1
- package/dist/drizzle/sqlite-password-prepared.mjs +0 -26
- package/dist/drizzle/sqlite-password-prepared.mjs.map +0 -1
- package/dist/drizzle/sqlite-passwords.mjs +0 -54
- package/dist/drizzle/sqlite-passwords.mjs.map +0 -1
- package/dist/drizzle/sqlite-proofs.mjs +0 -34
- package/dist/drizzle/sqlite-proofs.mjs.map +0 -1
- package/dist/drizzle/sqlite-sessions.mjs +0 -79
- package/dist/drizzle/sqlite-sessions.mjs.map +0 -1
- package/dist/drizzle/standalone-guard.d.mts +0 -2
- package/dist/drizzle/standalone-guard.mjs +0 -21
- package/dist/drizzle/standalone-guard.mjs.map +0 -1
- package/dist/drizzle/totp-state.d.mts +0 -37
- package/dist/drizzle/totp-state.mjs +0 -287
- package/dist/drizzle/totp-state.mjs.map +0 -1
- package/dist/drizzle/totp-target.d.mts +0 -15
- package/dist/drizzle/transaction-execution.d.mts +0 -2
- package/dist/drizzle/transaction-execution.mjs +0 -11
- package/dist/drizzle/transaction-execution.mjs.map +0 -1
- package/dist/drizzle/transaction-owner.d.mts +0 -1
- package/dist/drizzle/transaction-owner.mjs +0 -8
- package/dist/drizzle/transaction-owner.mjs.map +0 -1
- package/src/drizzle/crypto.ts +0 -14
- package/src/drizzle/d1-emails.ts +0 -1945
- package/src/drizzle/d1-generated-statement.ts +0 -129
- package/src/drizzle/d1-oauth.ts +0 -360
- package/src/drizzle/d1-passkey.ts +0 -383
- package/src/drizzle/d1-password-prepared.ts +0 -1265
- package/src/drizzle/d1-passwords.ts +0 -2060
- package/src/drizzle/d1-phone.ts +0 -103
- package/src/drizzle/d1-planning.ts +0 -104
- package/src/drizzle/d1-proofs.ts +0 -2354
- package/src/drizzle/d1-sessions.ts +0 -2940
- package/src/drizzle/d1-totp.ts +0 -88
- package/src/drizzle/email-registration.ts +0 -850
- package/src/drizzle/email-sql.ts +0 -25
- package/src/drizzle/mysql-emails.ts +0 -343
- package/src/drizzle/mysql-password-prepared.ts +0 -198
- package/src/drizzle/mysql-passwords.ts +0 -343
- package/src/drizzle/mysql-proofs.ts +0 -196
- package/src/drizzle/mysql-sessions.ts +0 -780
- package/src/drizzle/oauth-connected-target.ts +0 -21
- package/src/drizzle/oauth-kernel.ts +0 -10
- package/src/drizzle/oauth-mysql.ts +0 -10
- package/src/drizzle/passkey-kernel.ts +0 -4
- package/src/drizzle/passkey-state.ts +0 -3
- package/src/drizzle/passkey-target.ts +0 -23
- package/src/drizzle/passkey-write-target.ts +0 -9
- package/src/drizzle/password-prepared-model.ts +0 -241
- package/src/drizzle/password-prepared-sql.ts +0 -1201
- package/src/drizzle/password-prepared-state.ts +0 -231
- package/src/drizzle/password-prepared-target.ts +0 -169
- package/src/drizzle/password-registration.ts +0 -369
- package/src/drizzle/password-sql.ts +0 -16
- package/src/drizzle/pg-emails.ts +0 -343
- package/src/drizzle/pg-password-prepared.ts +0 -199
- package/src/drizzle/pg-passwords.ts +0 -342
- package/src/drizzle/pg-proofs.ts +0 -206
- package/src/drizzle/pg-sessions.ts +0 -789
- package/src/drizzle/phone-state.ts +0 -21
- package/src/drizzle/proof-sql.ts +0 -10
- package/src/drizzle/query-operations.ts +0 -49
- package/src/drizzle/session-sql.ts +0 -15
- package/src/drizzle/session-target.ts +0 -337
- package/src/drizzle/sqlite-emails.ts +0 -393
- package/src/drizzle/sqlite-password-prepared.ts +0 -230
- package/src/drizzle/sqlite-passwords.ts +0 -497
- package/src/drizzle/sqlite-proofs.ts +0 -229
- package/src/drizzle/sqlite-sessions.ts +0 -1013
- package/src/drizzle/totp-state.ts +0 -525
- package/src/drizzle/transaction-execution.ts +0 -13
- package/src/drizzle/transaction-owner.ts +0 -11
package/src/drizzle/email-sql.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { makeEmailKernel } from "@yielded/auth-persistence/Adapter";
|
|
2
|
-
|
|
3
|
-
import { completeProofPlanIn } from "./proof-sql";
|
|
4
|
-
import { drizzleQueryOperations } from "./query-operations";
|
|
5
|
-
|
|
6
|
-
export { CurrentEmailSql } from "@yielded/auth-persistence/Adapter";
|
|
7
|
-
|
|
8
|
-
export type {
|
|
9
|
-
EmailSqlQuery,
|
|
10
|
-
EmailSqlDatabase,
|
|
11
|
-
EmailSqlConfiguration,
|
|
12
|
-
CurrentAddress,
|
|
13
|
-
} from "@yielded/auth-persistence/Adapter";
|
|
14
|
-
|
|
15
|
-
export const {
|
|
16
|
-
validEmailSignInConstraints,
|
|
17
|
-
emailLookupQuery,
|
|
18
|
-
decodeEmailSnapshot,
|
|
19
|
-
makeSqlEmailSignInTargets,
|
|
20
|
-
currentAddress,
|
|
21
|
-
sameEmailRevision,
|
|
22
|
-
snapshotEmailMutation,
|
|
23
|
-
validateEmailAuthority,
|
|
24
|
-
makeSqlEmailAddressPersistence,
|
|
25
|
-
} = makeEmailKernel(drizzleQueryOperations, { completeProofPlanIn });
|
|
@@ -1,343 +0,0 @@
|
|
|
1
|
-
import { NativeDatabase } from "@yielded/auth-persistence/Adapter";
|
|
2
|
-
import { EmailAddressPersistence, type EmailUnavailable } from "@yielded/auth/Email";
|
|
3
|
-
import type { LifecycleHooks, HookConfigurationError } from "@yielded/auth/Hooks";
|
|
4
|
-
/* oxlint-disable no-explicit-any -- proof mapping tables are independently typed by the proof owner; this driver forwards them unchanged to the shared target. */
|
|
5
|
-
import type { AnyRelations } from "drizzle-orm";
|
|
6
|
-
import type { EffectMysql2Database } from "drizzle-orm/effect-mysql2";
|
|
7
|
-
import type { AnyMySqlTable } from "drizzle-orm/mysql-core";
|
|
8
|
-
import { Effect, Context } from "effect";
|
|
9
|
-
import type { SqlError } from "effect/sql/SqlError";
|
|
10
|
-
|
|
11
|
-
import type {
|
|
12
|
-
EmailAddressMapping,
|
|
13
|
-
EmailRegistrationMapping,
|
|
14
|
-
EmailSignInMapping,
|
|
15
|
-
} from "./email-model";
|
|
16
|
-
import type { EmailRegistrationAuthority } from "./email-registration";
|
|
17
|
-
import { CurrentEmailSql } from "./email-sql";
|
|
18
|
-
import type { EmailSqlQuery } from "./email-sql";
|
|
19
|
-
import {
|
|
20
|
-
coordinateTargetEmailAddress,
|
|
21
|
-
coordinateTargetEmailRegistration,
|
|
22
|
-
makeTargetEmailAddressServices,
|
|
23
|
-
makeTargetEmailRegistrationServices,
|
|
24
|
-
makeTargetEmailSignInServices,
|
|
25
|
-
sqlClientEmailStandaloneGuard,
|
|
26
|
-
} from "./email-target";
|
|
27
|
-
import { Database as DatabaseService } from "./mysql-database";
|
|
28
|
-
import { nativeDatabase } from "./native-database";
|
|
29
|
-
import type { ProofPersistenceMapping } from "./proof-model";
|
|
30
|
-
import type { ProofSqlQuery } from "./proof-sql";
|
|
31
|
-
import { sqlClientProofStandaloneGuard } from "./proof-target";
|
|
32
|
-
import {
|
|
33
|
-
type TransactionService,
|
|
34
|
-
acquireTransactionService,
|
|
35
|
-
transactionService,
|
|
36
|
-
} from "./standalone-guard";
|
|
37
|
-
import type { SuppliedService } from "./SuppliedService";
|
|
38
|
-
|
|
39
|
-
type Database = EffectMysql2Database<AnyRelations>;
|
|
40
|
-
type TransactionOf<D extends Database> = Parameters<Parameters<D["transaction"]>[0]>[0];
|
|
41
|
-
type ProofMapping = ProofPersistenceMapping<
|
|
42
|
-
any,
|
|
43
|
-
any,
|
|
44
|
-
any,
|
|
45
|
-
any,
|
|
46
|
-
any,
|
|
47
|
-
any,
|
|
48
|
-
any,
|
|
49
|
-
any,
|
|
50
|
-
any,
|
|
51
|
-
any,
|
|
52
|
-
any,
|
|
53
|
-
any
|
|
54
|
-
>;
|
|
55
|
-
|
|
56
|
-
const configuration = (service: TransactionService | undefined) => ({
|
|
57
|
-
mode: "interactive" as const,
|
|
58
|
-
locking: true,
|
|
59
|
-
standaloneGuard: sqlClientEmailStandaloneGuard(service),
|
|
60
|
-
generatedSubjectRows: (query: EmailSqlQuery) => query.$returningId(),
|
|
61
|
-
proof: {
|
|
62
|
-
mode: "interactive" as const,
|
|
63
|
-
locking: true,
|
|
64
|
-
standaloneGuard: sqlClientProofStandaloneGuard(service),
|
|
65
|
-
insertIfAbsent: (query: ProofSqlQuery, selfKey: string, selfValue: unknown) =>
|
|
66
|
-
query.onDuplicateKeyUpdate({ set: { [selfKey]: selfValue } }),
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
export const makeMysqlEmailSignInServices = <
|
|
71
|
-
S extends AnyMySqlTable,
|
|
72
|
-
I extends AnyMySqlTable,
|
|
73
|
-
C extends AnyMySqlTable,
|
|
74
|
-
NativeId,
|
|
75
|
-
>(
|
|
76
|
-
mapping: EmailSignInMapping<S, I, C, NativeId>,
|
|
77
|
-
) =>
|
|
78
|
-
Effect.flatMap(
|
|
79
|
-
Effect.map(acquireTransactionService(DatabaseService), configuration),
|
|
80
|
-
(configuration) => makeTargetEmailSignInServices(mapping, configuration),
|
|
81
|
-
).pipe(
|
|
82
|
-
Effect.provideServiceEffect(CurrentEmailSql, nativeDatabase(DatabaseService)),
|
|
83
|
-
Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),
|
|
84
|
-
);
|
|
85
|
-
|
|
86
|
-
export const makeMysqlEmailAddressServices = <
|
|
87
|
-
S extends AnyMySqlTable,
|
|
88
|
-
I extends AnyMySqlTable,
|
|
89
|
-
C extends AnyMySqlTable,
|
|
90
|
-
AC extends AnyMySqlTable,
|
|
91
|
-
M extends AnyMySqlTable,
|
|
92
|
-
NativeId,
|
|
93
|
-
>(
|
|
94
|
-
mapping: EmailAddressMapping<S, I, C, AC, M, NativeId>,
|
|
95
|
-
proofMapping: ProofMapping,
|
|
96
|
-
) =>
|
|
97
|
-
Effect.flatMap(
|
|
98
|
-
Effect.map(acquireTransactionService(DatabaseService), configuration),
|
|
99
|
-
(configuration) => makeTargetEmailAddressServices(mapping, proofMapping, configuration),
|
|
100
|
-
).pipe(
|
|
101
|
-
Effect.provideServiceEffect(CurrentEmailSql, nativeDatabase(DatabaseService)),
|
|
102
|
-
Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
export function coordinateMysqlEmailAddress<
|
|
106
|
-
D extends Database,
|
|
107
|
-
S extends AnyMySqlTable,
|
|
108
|
-
I extends AnyMySqlTable,
|
|
109
|
-
C extends AnyMySqlTable,
|
|
110
|
-
AC extends AnyMySqlTable,
|
|
111
|
-
M extends AnyMySqlTable,
|
|
112
|
-
NativeId,
|
|
113
|
-
Out,
|
|
114
|
-
E,
|
|
115
|
-
R,
|
|
116
|
-
DatabaseError,
|
|
117
|
-
DatabaseRequirements,
|
|
118
|
-
>(
|
|
119
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
120
|
-
options: {
|
|
121
|
-
readonly mapping: EmailAddressMapping<S, I, C, AC, M, NativeId>;
|
|
122
|
-
readonly proofMapping: ProofMapping;
|
|
123
|
-
readonly transaction?: never;
|
|
124
|
-
},
|
|
125
|
-
body: Effect.Effect<Out, E, R>,
|
|
126
|
-
): Effect.Effect<
|
|
127
|
-
Out,
|
|
128
|
-
E | EmailUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
129
|
-
Exclude<R, EmailAddressPersistence> | LifecycleHooks | DatabaseRequirements
|
|
130
|
-
>;
|
|
131
|
-
|
|
132
|
-
export function coordinateMysqlEmailAddress<
|
|
133
|
-
D extends Database,
|
|
134
|
-
S extends AnyMySqlTable,
|
|
135
|
-
I extends AnyMySqlTable,
|
|
136
|
-
C extends AnyMySqlTable,
|
|
137
|
-
AC extends AnyMySqlTable,
|
|
138
|
-
M extends AnyMySqlTable,
|
|
139
|
-
NativeId,
|
|
140
|
-
Out,
|
|
141
|
-
E,
|
|
142
|
-
R,
|
|
143
|
-
DatabaseError,
|
|
144
|
-
DatabaseRequirements,
|
|
145
|
-
TxId,
|
|
146
|
-
TxShape,
|
|
147
|
-
>(
|
|
148
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
149
|
-
options: {
|
|
150
|
-
readonly mapping: EmailAddressMapping<S, I, C, AC, M, NativeId>;
|
|
151
|
-
readonly proofMapping: ProofMapping;
|
|
152
|
-
readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
|
|
153
|
-
},
|
|
154
|
-
body: Effect.Effect<Out, E, R>,
|
|
155
|
-
): Effect.Effect<
|
|
156
|
-
Out,
|
|
157
|
-
E | EmailUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
158
|
-
Exclude<R, EmailAddressPersistence | TxId> | LifecycleHooks | DatabaseRequirements
|
|
159
|
-
>;
|
|
160
|
-
|
|
161
|
-
export function coordinateMysqlEmailAddress<
|
|
162
|
-
D extends Database,
|
|
163
|
-
S extends AnyMySqlTable,
|
|
164
|
-
I extends AnyMySqlTable,
|
|
165
|
-
C extends AnyMySqlTable,
|
|
166
|
-
AC extends AnyMySqlTable,
|
|
167
|
-
M extends AnyMySqlTable,
|
|
168
|
-
NativeId,
|
|
169
|
-
Out,
|
|
170
|
-
E,
|
|
171
|
-
R,
|
|
172
|
-
DatabaseError,
|
|
173
|
-
DatabaseRequirements,
|
|
174
|
-
TxId,
|
|
175
|
-
TxShape,
|
|
176
|
-
>(
|
|
177
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
178
|
-
options: {
|
|
179
|
-
readonly mapping: EmailAddressMapping<S, I, C, AC, M, NativeId>;
|
|
180
|
-
readonly proofMapping: ProofMapping;
|
|
181
|
-
readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
|
|
182
|
-
},
|
|
183
|
-
body: Effect.Effect<Out, E, R>,
|
|
184
|
-
): Effect.Effect<
|
|
185
|
-
Out,
|
|
186
|
-
E | EmailUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
187
|
-
Exclude<R, EmailAddressPersistence> | LifecycleHooks | DatabaseRequirements
|
|
188
|
-
> {
|
|
189
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) =>
|
|
190
|
-
coordinateTargetEmailAddress<TransactionOf<D>, Out, E, Exclude<R, EmailAddressPersistence>>(
|
|
191
|
-
database,
|
|
192
|
-
options.mapping,
|
|
193
|
-
options.proofMapping,
|
|
194
|
-
configuration(transactionService(database)),
|
|
195
|
-
(
|
|
196
|
-
transaction: TransactionOf<D>,
|
|
197
|
-
services: { readonly emailAddressPersistence: EmailAddressPersistence["Service"] },
|
|
198
|
-
) => {
|
|
199
|
-
const provided = Context.make(EmailAddressPersistence, services.emailAddressPersistence);
|
|
200
|
-
const work = Effect.provideContext(body, provided);
|
|
201
|
-
|
|
202
|
-
return options.transaction === undefined
|
|
203
|
-
? work
|
|
204
|
-
: Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
205
|
-
},
|
|
206
|
-
).pipe(Effect.provideService(NativeDatabase, database)),
|
|
207
|
-
);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
export const makeMysqlEmailRegistrationServices = <
|
|
211
|
-
Registration,
|
|
212
|
-
S extends AnyMySqlTable,
|
|
213
|
-
I extends AnyMySqlTable,
|
|
214
|
-
C extends AnyMySqlTable,
|
|
215
|
-
AC extends AnyMySqlTable,
|
|
216
|
-
Rq extends AnyMySqlTable,
|
|
217
|
-
NativeId,
|
|
218
|
-
>(
|
|
219
|
-
mapping: EmailRegistrationMapping<Registration, S, I, C, AC, Rq, NativeId>,
|
|
220
|
-
proofMapping: ProofMapping,
|
|
221
|
-
) =>
|
|
222
|
-
Effect.flatMap(
|
|
223
|
-
Effect.map(acquireTransactionService(DatabaseService), configuration),
|
|
224
|
-
(configuration) =>
|
|
225
|
-
makeTargetEmailRegistrationServices<Registration>(mapping, proofMapping, configuration),
|
|
226
|
-
).pipe(
|
|
227
|
-
Effect.provideServiceEffect(CurrentEmailSql, nativeDatabase(DatabaseService)),
|
|
228
|
-
Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),
|
|
229
|
-
);
|
|
230
|
-
|
|
231
|
-
export function coordinateMysqlEmailRegistration<
|
|
232
|
-
TargetId,
|
|
233
|
-
Registration,
|
|
234
|
-
D extends Database,
|
|
235
|
-
S extends AnyMySqlTable,
|
|
236
|
-
I extends AnyMySqlTable,
|
|
237
|
-
C extends AnyMySqlTable,
|
|
238
|
-
AC extends AnyMySqlTable,
|
|
239
|
-
Rq extends AnyMySqlTable,
|
|
240
|
-
NativeId,
|
|
241
|
-
Out,
|
|
242
|
-
E,
|
|
243
|
-
R,
|
|
244
|
-
DatabaseError,
|
|
245
|
-
DatabaseRequirements,
|
|
246
|
-
>(
|
|
247
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
248
|
-
options: {
|
|
249
|
-
readonly mapping: EmailRegistrationMapping<NoInfer<Registration>, S, I, C, AC, Rq, NativeId>;
|
|
250
|
-
readonly proofMapping: ProofMapping;
|
|
251
|
-
readonly target: SuppliedService<TargetId, EmailRegistrationAuthority<Registration>>;
|
|
252
|
-
readonly transaction?: never;
|
|
253
|
-
},
|
|
254
|
-
body: Effect.Effect<Out, E, R>,
|
|
255
|
-
): Effect.Effect<
|
|
256
|
-
Out,
|
|
257
|
-
E | EmailUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
258
|
-
Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements
|
|
259
|
-
>;
|
|
260
|
-
|
|
261
|
-
export function coordinateMysqlEmailRegistration<
|
|
262
|
-
TargetId,
|
|
263
|
-
Registration,
|
|
264
|
-
D extends Database,
|
|
265
|
-
S extends AnyMySqlTable,
|
|
266
|
-
I extends AnyMySqlTable,
|
|
267
|
-
C extends AnyMySqlTable,
|
|
268
|
-
AC extends AnyMySqlTable,
|
|
269
|
-
Rq extends AnyMySqlTable,
|
|
270
|
-
NativeId,
|
|
271
|
-
Out,
|
|
272
|
-
E,
|
|
273
|
-
R,
|
|
274
|
-
DatabaseError,
|
|
275
|
-
DatabaseRequirements,
|
|
276
|
-
TxId,
|
|
277
|
-
TxShape,
|
|
278
|
-
>(
|
|
279
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
280
|
-
options: {
|
|
281
|
-
readonly mapping: EmailRegistrationMapping<NoInfer<Registration>, S, I, C, AC, Rq, NativeId>;
|
|
282
|
-
readonly proofMapping: ProofMapping;
|
|
283
|
-
readonly target: SuppliedService<TargetId, EmailRegistrationAuthority<Registration>>;
|
|
284
|
-
readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
|
|
285
|
-
},
|
|
286
|
-
body: Effect.Effect<Out, E, R>,
|
|
287
|
-
): Effect.Effect<
|
|
288
|
-
Out,
|
|
289
|
-
E | EmailUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
290
|
-
Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements
|
|
291
|
-
>;
|
|
292
|
-
|
|
293
|
-
export function coordinateMysqlEmailRegistration<
|
|
294
|
-
TargetId,
|
|
295
|
-
Registration,
|
|
296
|
-
D extends Database,
|
|
297
|
-
S extends AnyMySqlTable,
|
|
298
|
-
I extends AnyMySqlTable,
|
|
299
|
-
C extends AnyMySqlTable,
|
|
300
|
-
AC extends AnyMySqlTable,
|
|
301
|
-
Rq extends AnyMySqlTable,
|
|
302
|
-
NativeId,
|
|
303
|
-
Out,
|
|
304
|
-
E,
|
|
305
|
-
R,
|
|
306
|
-
DatabaseError,
|
|
307
|
-
DatabaseRequirements,
|
|
308
|
-
TxId,
|
|
309
|
-
TxShape,
|
|
310
|
-
>(
|
|
311
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
312
|
-
options: {
|
|
313
|
-
readonly mapping: EmailRegistrationMapping<NoInfer<Registration>, S, I, C, AC, Rq, NativeId>;
|
|
314
|
-
readonly proofMapping: ProofMapping;
|
|
315
|
-
readonly target: SuppliedService<TargetId, EmailRegistrationAuthority<Registration>>;
|
|
316
|
-
readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
|
|
317
|
-
},
|
|
318
|
-
body: Effect.Effect<Out, E, R>,
|
|
319
|
-
): Effect.Effect<
|
|
320
|
-
Out,
|
|
321
|
-
E | EmailUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
322
|
-
Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements
|
|
323
|
-
> {
|
|
324
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) =>
|
|
325
|
-
coordinateTargetEmailRegistration<Registration, TransactionOf<D>, Out, E, Exclude<R, TargetId>>(
|
|
326
|
-
database,
|
|
327
|
-
options.mapping,
|
|
328
|
-
options.proofMapping,
|
|
329
|
-
configuration(transactionService(database)),
|
|
330
|
-
(
|
|
331
|
-
transaction: TransactionOf<D>,
|
|
332
|
-
services: { readonly registrationAuthority: EmailRegistrationAuthority<Registration> },
|
|
333
|
-
) => {
|
|
334
|
-
const provided = Context.make(options.target, services.registrationAuthority);
|
|
335
|
-
const work = Effect.provideContext(body, provided);
|
|
336
|
-
|
|
337
|
-
return options.transaction === undefined
|
|
338
|
-
? work
|
|
339
|
-
: Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
340
|
-
},
|
|
341
|
-
).pipe(Effect.provideService(NativeDatabase, database)),
|
|
342
|
-
);
|
|
343
|
-
}
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { NativeDatabase } from "@yielded/auth-persistence/Adapter";
|
|
2
|
-
import type { LifecycleHooks, HookConfigurationError } from "@yielded/auth/Hooks";
|
|
3
|
-
import type { PasswordUnavailable, PasswordPreparedPersistence } from "@yielded/auth/Password";
|
|
4
|
-
import type { AnyRelations } from "drizzle-orm";
|
|
5
|
-
import type { EffectMysql2Database } from "drizzle-orm/effect-mysql2";
|
|
6
|
-
import type { AnyMySqlTable } from "drizzle-orm/mysql-core";
|
|
7
|
-
import { Effect, Context } from "effect";
|
|
8
|
-
import type { SqlError } from "effect/sql/SqlError";
|
|
9
|
-
|
|
10
|
-
import { Database as DatabaseService } from "./mysql-database";
|
|
11
|
-
import { mysqlPasswordConfiguration as configuration } from "./mysql-passwords";
|
|
12
|
-
import { nativeDatabase } from "./native-database";
|
|
13
|
-
import type {
|
|
14
|
-
PasswordPreparedPersistenceMapping,
|
|
15
|
-
PasswordPreparedProofMapping,
|
|
16
|
-
} from "./password-prepared-model";
|
|
17
|
-
import {
|
|
18
|
-
makeTargetPasswordPreparedPersistenceServices,
|
|
19
|
-
coordinateTargetPasswordPreparedPersistence,
|
|
20
|
-
} from "./password-prepared-target";
|
|
21
|
-
import { CurrentPasswordSql } from "./password-sql";
|
|
22
|
-
import { acquireTransactionService, transactionService } from "./standalone-guard";
|
|
23
|
-
import type { SuppliedService } from "./SuppliedService";
|
|
24
|
-
type Database = EffectMysql2Database<AnyRelations>;
|
|
25
|
-
type TransactionOf<D extends Database> = Parameters<Parameters<D["transaction"]>[0]>[0];
|
|
26
|
-
|
|
27
|
-
export const makeMySqlPasswordPreparedPersistenceServices = <
|
|
28
|
-
S extends AnyMySqlTable,
|
|
29
|
-
I extends AnyMySqlTable,
|
|
30
|
-
C extends AnyMySqlTable,
|
|
31
|
-
AC extends AnyMySqlTable,
|
|
32
|
-
M extends AnyMySqlTable,
|
|
33
|
-
T extends AnyMySqlTable,
|
|
34
|
-
B extends AnyMySqlTable,
|
|
35
|
-
NativeId,
|
|
36
|
-
PS extends AnyMySqlTable = AnyMySqlTable,
|
|
37
|
-
PC extends AnyMySqlTable = AnyMySqlTable,
|
|
38
|
-
PM extends AnyMySqlTable = AnyMySqlTable,
|
|
39
|
-
PSub extends AnyMySqlTable = AnyMySqlTable,
|
|
40
|
-
PI extends AnyMySqlTable = AnyMySqlTable,
|
|
41
|
-
PCr extends AnyMySqlTable = AnyMySqlTable,
|
|
42
|
-
PNativeId = unknown,
|
|
43
|
-
>(
|
|
44
|
-
mapping: PasswordPreparedPersistenceMapping<S, I, C, AC, M, T, B, NativeId>,
|
|
45
|
-
proofMapping?: PasswordPreparedProofMapping<PS, PC, PM, PSub, PI, PCr, PNativeId>,
|
|
46
|
-
) =>
|
|
47
|
-
Effect.flatMap(
|
|
48
|
-
Effect.map(acquireTransactionService(DatabaseService), configuration),
|
|
49
|
-
(configuration) =>
|
|
50
|
-
makeTargetPasswordPreparedPersistenceServices(mapping, configuration, proofMapping),
|
|
51
|
-
).pipe(
|
|
52
|
-
Effect.provideServiceEffect(CurrentPasswordSql, nativeDatabase(DatabaseService)),
|
|
53
|
-
Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),
|
|
54
|
-
);
|
|
55
|
-
|
|
56
|
-
export function coordinateMySqlPasswordPreparedPersistence<
|
|
57
|
-
TargetId,
|
|
58
|
-
D extends Database,
|
|
59
|
-
S extends AnyMySqlTable,
|
|
60
|
-
I extends AnyMySqlTable,
|
|
61
|
-
C extends AnyMySqlTable,
|
|
62
|
-
AC extends AnyMySqlTable,
|
|
63
|
-
M extends AnyMySqlTable,
|
|
64
|
-
T extends AnyMySqlTable,
|
|
65
|
-
B extends AnyMySqlTable,
|
|
66
|
-
NativeId,
|
|
67
|
-
PS extends AnyMySqlTable,
|
|
68
|
-
PC extends AnyMySqlTable,
|
|
69
|
-
PM extends AnyMySqlTable,
|
|
70
|
-
PSub extends AnyMySqlTable,
|
|
71
|
-
PI extends AnyMySqlTable,
|
|
72
|
-
PCr extends AnyMySqlTable,
|
|
73
|
-
PNativeId,
|
|
74
|
-
Out,
|
|
75
|
-
E,
|
|
76
|
-
R,
|
|
77
|
-
DatabaseError,
|
|
78
|
-
DatabaseRequirements,
|
|
79
|
-
>(
|
|
80
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
81
|
-
options: {
|
|
82
|
-
readonly mapping: PasswordPreparedPersistenceMapping<S, I, C, AC, M, T, B, NativeId>;
|
|
83
|
-
readonly proofMapping?:
|
|
84
|
-
| PasswordPreparedProofMapping<PS, PC, PM, PSub, PI, PCr, PNativeId>
|
|
85
|
-
| undefined;
|
|
86
|
-
readonly target: SuppliedService<TargetId, PasswordPreparedPersistence>;
|
|
87
|
-
readonly transaction?: never;
|
|
88
|
-
},
|
|
89
|
-
body: Effect.Effect<Out, E, R>,
|
|
90
|
-
): Effect.Effect<
|
|
91
|
-
Out,
|
|
92
|
-
E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
93
|
-
Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements
|
|
94
|
-
>;
|
|
95
|
-
|
|
96
|
-
export function coordinateMySqlPasswordPreparedPersistence<
|
|
97
|
-
TargetId,
|
|
98
|
-
D extends Database,
|
|
99
|
-
S extends AnyMySqlTable,
|
|
100
|
-
I extends AnyMySqlTable,
|
|
101
|
-
C extends AnyMySqlTable,
|
|
102
|
-
AC extends AnyMySqlTable,
|
|
103
|
-
M extends AnyMySqlTable,
|
|
104
|
-
T extends AnyMySqlTable,
|
|
105
|
-
B extends AnyMySqlTable,
|
|
106
|
-
NativeId,
|
|
107
|
-
PS extends AnyMySqlTable,
|
|
108
|
-
PC extends AnyMySqlTable,
|
|
109
|
-
PM extends AnyMySqlTable,
|
|
110
|
-
PSub extends AnyMySqlTable,
|
|
111
|
-
PI extends AnyMySqlTable,
|
|
112
|
-
PCr extends AnyMySqlTable,
|
|
113
|
-
PNativeId,
|
|
114
|
-
Out,
|
|
115
|
-
E,
|
|
116
|
-
R,
|
|
117
|
-
DatabaseError,
|
|
118
|
-
DatabaseRequirements,
|
|
119
|
-
TxId,
|
|
120
|
-
TxShape,
|
|
121
|
-
>(
|
|
122
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
123
|
-
options: {
|
|
124
|
-
readonly mapping: PasswordPreparedPersistenceMapping<S, I, C, AC, M, T, B, NativeId>;
|
|
125
|
-
readonly proofMapping?:
|
|
126
|
-
| PasswordPreparedProofMapping<PS, PC, PM, PSub, PI, PCr, PNativeId>
|
|
127
|
-
| undefined;
|
|
128
|
-
readonly target: SuppliedService<TargetId, PasswordPreparedPersistence>;
|
|
129
|
-
readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
|
|
130
|
-
},
|
|
131
|
-
body: Effect.Effect<Out, E, R>,
|
|
132
|
-
): Effect.Effect<
|
|
133
|
-
Out,
|
|
134
|
-
E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
135
|
-
Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements
|
|
136
|
-
>;
|
|
137
|
-
|
|
138
|
-
export function coordinateMySqlPasswordPreparedPersistence<
|
|
139
|
-
TargetId,
|
|
140
|
-
D extends Database,
|
|
141
|
-
S extends AnyMySqlTable,
|
|
142
|
-
I extends AnyMySqlTable,
|
|
143
|
-
C extends AnyMySqlTable,
|
|
144
|
-
AC extends AnyMySqlTable,
|
|
145
|
-
M extends AnyMySqlTable,
|
|
146
|
-
T extends AnyMySqlTable,
|
|
147
|
-
B extends AnyMySqlTable,
|
|
148
|
-
NativeId,
|
|
149
|
-
PS extends AnyMySqlTable,
|
|
150
|
-
PC extends AnyMySqlTable,
|
|
151
|
-
PM extends AnyMySqlTable,
|
|
152
|
-
PSub extends AnyMySqlTable,
|
|
153
|
-
PI extends AnyMySqlTable,
|
|
154
|
-
PCr extends AnyMySqlTable,
|
|
155
|
-
PNativeId,
|
|
156
|
-
Out,
|
|
157
|
-
E,
|
|
158
|
-
R,
|
|
159
|
-
DatabaseError,
|
|
160
|
-
DatabaseRequirements,
|
|
161
|
-
TxId,
|
|
162
|
-
TxShape,
|
|
163
|
-
>(
|
|
164
|
-
acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,
|
|
165
|
-
options: {
|
|
166
|
-
readonly mapping: PasswordPreparedPersistenceMapping<S, I, C, AC, M, T, B, NativeId>;
|
|
167
|
-
readonly proofMapping?:
|
|
168
|
-
| PasswordPreparedProofMapping<PS, PC, PM, PSub, PI, PCr, PNativeId>
|
|
169
|
-
| undefined;
|
|
170
|
-
readonly target: SuppliedService<TargetId, PasswordPreparedPersistence>;
|
|
171
|
-
readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
|
|
172
|
-
},
|
|
173
|
-
body: Effect.Effect<Out, E, R>,
|
|
174
|
-
): Effect.Effect<
|
|
175
|
-
Out,
|
|
176
|
-
E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,
|
|
177
|
-
Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements
|
|
178
|
-
> {
|
|
179
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) =>
|
|
180
|
-
coordinateTargetPasswordPreparedPersistence<TransactionOf<D>, Out, E, Exclude<R, TargetId>>(
|
|
181
|
-
database,
|
|
182
|
-
options.mapping,
|
|
183
|
-
configuration(transactionService(database)),
|
|
184
|
-
options.proofMapping,
|
|
185
|
-
(
|
|
186
|
-
transaction: TransactionOf<D>,
|
|
187
|
-
services: { readonly passwordPreparedPersistence: PasswordPreparedPersistence },
|
|
188
|
-
) => {
|
|
189
|
-
const provided = Context.make(options.target, services.passwordPreparedPersistence);
|
|
190
|
-
const work = Effect.provideContext(body, provided);
|
|
191
|
-
|
|
192
|
-
return options.transaction === undefined
|
|
193
|
-
? work
|
|
194
|
-
: Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
195
|
-
},
|
|
196
|
-
).pipe(Effect.provideService(NativeDatabase, database)),
|
|
197
|
-
);
|
|
198
|
-
}
|