@yielded/auth-persistence-drizzle 0.1.0-beta.25 → 0.1.0-beta.27
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 +91 -26
- 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 -1266
- package/src/drizzle/d1-passwords.ts +0 -2061
- 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 -1202
- 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
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { acquireTransactionService, transactionService } from "./standalone-guard.mjs";
|
|
2
|
-
import { CurrentPasswordSql } from "./password-sql.mjs";
|
|
3
|
-
import { coordinateTargetPasswordPreparedPersistence, makeTargetPasswordPreparedPersistenceServices } from "./password-prepared-target.mjs";
|
|
4
|
-
import { nativeDatabase } from "./native-database.mjs";
|
|
5
|
-
import { Database } from "./mysql-database.mjs";
|
|
6
|
-
import { mysqlPasswordConfiguration as configuration } from "./mysql-passwords.mjs";
|
|
7
|
-
import { NativeDatabase } from "@yielded/auth-persistence/Adapter";
|
|
8
|
-
import { Context, Effect } from "effect";
|
|
9
|
-
//#region src/drizzle/mysql-password-prepared.ts
|
|
10
|
-
const makeMySqlPasswordPreparedPersistenceServices = (mapping, proofMapping) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetPasswordPreparedPersistenceServices(mapping, configuration, proofMapping)).pipe(Effect.provideServiceEffect(CurrentPasswordSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
11
|
-
function coordinateMySqlPasswordPreparedPersistence(acquire, options, body) {
|
|
12
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetPasswordPreparedPersistence(database, options.mapping, configuration(transactionService(database)), options.proofMapping, (transaction, services) => {
|
|
13
|
-
const provided = Context.make(options.target, services.passwordPreparedPersistence);
|
|
14
|
-
const work = Effect.provideContext(body, provided);
|
|
15
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
16
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
17
|
-
}
|
|
18
|
-
//#endregion
|
|
19
|
-
export { coordinateMySqlPasswordPreparedPersistence, makeMySqlPasswordPreparedPersistenceServices };
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=mysql-password-prepared.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mysql-password-prepared.mjs","names":["DatabaseService"],"sources":["../../src/drizzle/mysql-password-prepared.ts"],"sourcesContent":["import { NativeDatabase } from \"@yielded/auth-persistence/Adapter\";\nimport type { LifecycleHooks, HookConfigurationError } from \"@yielded/auth/Hooks\";\nimport type { PasswordUnavailable, PasswordPreparedPersistence } from \"@yielded/auth/Password\";\nimport type { AnyRelations } from \"drizzle-orm\";\nimport type { EffectMysql2Database } from \"drizzle-orm/effect-mysql2\";\nimport type { AnyMySqlTable } from \"drizzle-orm/mysql-core\";\nimport { Effect, Context } from \"effect\";\nimport type { SqlError } from \"effect/sql/SqlError\";\n\nimport { Database as DatabaseService } from \"./mysql-database\";\nimport { mysqlPasswordConfiguration as configuration } from \"./mysql-passwords\";\nimport { nativeDatabase } from \"./native-database\";\nimport type {\n PasswordPreparedPersistenceMapping,\n PasswordPreparedProofMapping,\n} from \"./password-prepared-model\";\nimport {\n makeTargetPasswordPreparedPersistenceServices,\n coordinateTargetPasswordPreparedPersistence,\n} from \"./password-prepared-target\";\nimport { CurrentPasswordSql } from \"./password-sql\";\nimport { acquireTransactionService, transactionService } from \"./standalone-guard\";\nimport type { SuppliedService } from \"./SuppliedService\";\ntype Database = EffectMysql2Database<AnyRelations>;\ntype TransactionOf<D extends Database> = Parameters<Parameters<D[\"transaction\"]>[0]>[0];\n\nexport const makeMySqlPasswordPreparedPersistenceServices = <\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n T extends AnyMySqlTable,\n B extends AnyMySqlTable,\n NativeId,\n PS extends AnyMySqlTable = AnyMySqlTable,\n PC extends AnyMySqlTable = AnyMySqlTable,\n PM extends AnyMySqlTable = AnyMySqlTable,\n PSub extends AnyMySqlTable = AnyMySqlTable,\n PI extends AnyMySqlTable = AnyMySqlTable,\n PCr extends AnyMySqlTable = AnyMySqlTable,\n PNativeId = unknown,\n>(\n mapping: PasswordPreparedPersistenceMapping<S, I, C, AC, M, T, B, NativeId>,\n proofMapping?: PasswordPreparedProofMapping<PS, PC, PM, PSub, PI, PCr, PNativeId>,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) =>\n makeTargetPasswordPreparedPersistenceServices(mapping, configuration, proofMapping),\n ).pipe(\n Effect.provideServiceEffect(CurrentPasswordSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport function coordinateMySqlPasswordPreparedPersistence<\n TargetId,\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n T extends AnyMySqlTable,\n B extends AnyMySqlTable,\n NativeId,\n PS extends AnyMySqlTable,\n PC extends AnyMySqlTable,\n PM extends AnyMySqlTable,\n PSub extends AnyMySqlTable,\n PI extends AnyMySqlTable,\n PCr extends AnyMySqlTable,\n PNativeId,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PasswordPreparedPersistenceMapping<S, I, C, AC, M, T, B, NativeId>;\n readonly proofMapping?:\n | PasswordPreparedProofMapping<PS, PC, PM, PSub, PI, PCr, PNativeId>\n | undefined;\n readonly target: SuppliedService<TargetId, PasswordPreparedPersistence>;\n readonly transaction?: never;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMySqlPasswordPreparedPersistence<\n TargetId,\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n T extends AnyMySqlTable,\n B extends AnyMySqlTable,\n NativeId,\n PS extends AnyMySqlTable,\n PC extends AnyMySqlTable,\n PM extends AnyMySqlTable,\n PSub extends AnyMySqlTable,\n PI extends AnyMySqlTable,\n PCr extends AnyMySqlTable,\n PNativeId,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PasswordPreparedPersistenceMapping<S, I, C, AC, M, T, B, NativeId>;\n readonly proofMapping?:\n | PasswordPreparedProofMapping<PS, PC, PM, PSub, PI, PCr, PNativeId>\n | undefined;\n readonly target: SuppliedService<TargetId, PasswordPreparedPersistence>;\n readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMySqlPasswordPreparedPersistence<\n TargetId,\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n T extends AnyMySqlTable,\n B extends AnyMySqlTable,\n NativeId,\n PS extends AnyMySqlTable,\n PC extends AnyMySqlTable,\n PM extends AnyMySqlTable,\n PSub extends AnyMySqlTable,\n PI extends AnyMySqlTable,\n PCr extends AnyMySqlTable,\n PNativeId,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PasswordPreparedPersistenceMapping<S, I, C, AC, M, T, B, NativeId>;\n readonly proofMapping?:\n | PasswordPreparedProofMapping<PS, PC, PM, PSub, PI, PCr, PNativeId>\n | undefined;\n readonly target: SuppliedService<TargetId, PasswordPreparedPersistence>;\n readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetPasswordPreparedPersistence<TransactionOf<D>, Out, E, Exclude<R, TargetId>>(\n database,\n options.mapping,\n configuration(transactionService(database)),\n options.proofMapping,\n (\n transaction: TransactionOf<D>,\n services: { readonly passwordPreparedPersistence: PasswordPreparedPersistence },\n ) => {\n const provided = Context.make(options.target, services.passwordPreparedPersistence);\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n"],"mappings":";;;;;;;;;AA0BA,MAAa,gDAiBX,SACA,iBAEA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBACC,8CAA8C,SAAS,eAAe,YAAY,CACtF,CAAC,CAAC,KACA,OAAO,qBAAqB,oBAAoB,eAAeA,QAAe,CAAC,GAC/E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AAoFF,SAAgB,2CA0Bd,SACA,SAQA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,4CACE,UACA,QAAQ,SACR,cAAc,mBAAmB,QAAQ,CAAC,GAC1C,QAAQ,eAEN,aACA,aACG;EACH,MAAM,WAAW,QAAQ,KAAK,QAAQ,QAAQ,SAAS,2BAA2B;EAClF,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { PasswordPersistenceMapping, PasswordRegistrationMapping } from "./password-model.mjs";
|
|
2
|
-
import { ProofPersistenceMapping } from "./proof-model.mjs";
|
|
3
|
-
import "./standalone-guard.mjs";
|
|
4
|
-
import "./proof-sql.mjs";
|
|
5
|
-
import "./password-sql.mjs";
|
|
6
|
-
import { PasswordRegistrationAuthority } from "./password-registration.mjs";
|
|
7
|
-
import { SuppliedService } from "./SuppliedService.mjs";
|
|
8
|
-
import { Database as Database$1 } from "./mysql-database.mjs";
|
|
9
|
-
import { AnyRelations } from "drizzle-orm";
|
|
10
|
-
import { Effect } from "effect";
|
|
11
|
-
import { HookConfigurationError, LifecycleHooks } from "@yielded/auth/Hooks";
|
|
12
|
-
import { AnyMySqlTable } from "drizzle-orm/mysql-core";
|
|
13
|
-
import { PasswordPersistence, PasswordUnavailable } from "@yielded/auth/Password";
|
|
14
|
-
import { EffectMysql2Database } from "drizzle-orm/effect-mysql2";
|
|
15
|
-
import { SqlError } from "effect/sql/SqlError";
|
|
16
|
-
//#region src/drizzle/mysql-passwords.d.ts
|
|
17
|
-
type Database = EffectMysql2Database<AnyRelations>;
|
|
18
|
-
type TransactionOf<D extends Database> = Parameters<Parameters<D["transaction"]>[0]>[0];
|
|
19
|
-
type Mapping<S extends AnyMySqlTable, I extends AnyMySqlTable, C extends AnyMySqlTable, AC extends AnyMySqlTable, M extends AnyMySqlTable, NativeId> = PasswordPersistenceMapping<S, I, C, AC, M, NativeId>;
|
|
20
|
-
export declare const makeMysqlPasswordPersistenceServices: <S extends AnyMySqlTable, I extends AnyMySqlTable, C extends AnyMySqlTable, AC extends AnyMySqlTable, M extends AnyMySqlTable, NativeId>(mapping: Mapping<S, I, C, AC, M, NativeId>, proofMapping?: ProofPersistenceMapping<any, any, any, any, any, any, any, any, any, any, any, any>) => Effect.Effect<{
|
|
21
|
-
passwordPersistence: {
|
|
22
|
-
readonly findCredential: (input: {
|
|
23
|
-
readonly moduleId: string;
|
|
24
|
-
readonly identifier: import("@yielded/auth/Identity").LoginIdentifier;
|
|
25
|
-
readonly subjectId?: import("@yielded/auth/Schema").SubjectId;
|
|
26
|
-
}) => Effect.Effect<import("effect/Option").Option<import("@yielded/auth/Password").PasswordCredentialSnapshot>, PasswordUnavailable>;
|
|
27
|
-
readonly rehashIfCurrent: (input: {
|
|
28
|
-
readonly credential: import("@yielded/auth/Password").PasswordCredentialSnapshot;
|
|
29
|
-
readonly nextVerifier: import("effect/Redacted").Redacted<import("@yielded/auth/Password").EncodedPasswordHash>;
|
|
30
|
-
}) => Effect.Effect<void, PasswordUnavailable>;
|
|
31
|
-
readonly readForSubject: (input: {
|
|
32
|
-
readonly moduleId: string;
|
|
33
|
-
readonly subjectId: import("@yielded/auth/Schema").SubjectId;
|
|
34
|
-
}) => Effect.Effect<import("effect/Option").Option<import("@yielded/auth/Password").PasswordCredentialSnapshot>, PasswordUnavailable>;
|
|
35
|
-
readonly recoveryTarget: (input: {
|
|
36
|
-
readonly moduleId: string;
|
|
37
|
-
readonly identifier: import("@yielded/auth/Identity").LoginIdentifier;
|
|
38
|
-
}) => Effect.Effect<import("effect/Option").Option<import("@yielded/auth/Password").PasswordCredentialSnapshot>, PasswordUnavailable>;
|
|
39
|
-
readonly addIfAbsent: <A>(input: import("@yielded/auth/Password").PasswordMutationInput, prepare: import("@yielded/auth/Password").PreparePasswordCommit<import("@yielded/auth/Password").PasswordMutationDecision, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, PasswordUnavailable>;
|
|
40
|
-
readonly replaceIfCurrent: <A>(input: import("@yielded/auth/Password").PasswordMutationInput, prepare: import("@yielded/auth/Password").PreparePasswordCommit<import("@yielded/auth/Password").PasswordMutationDecision, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, PasswordUnavailable>;
|
|
41
|
-
readonly checkReset: (input: import("@yielded/auth/Proofs").ProofCompletionInput) => Effect.Effect<boolean, PasswordUnavailable>;
|
|
42
|
-
readonly resetWithProof: <A>(input: import("@yielded/auth/Password").PasswordMutationInput & {
|
|
43
|
-
readonly completion: import("@yielded/auth/Proofs").ProofCompletionPlan;
|
|
44
|
-
}, prepare: import("@yielded/auth/Password").PreparePasswordCommit<import("@yielded/auth/Password").PasswordMutationDecision, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, PasswordUnavailable>;
|
|
45
|
-
};
|
|
46
|
-
}, PasswordUnavailable, Database$1 | LifecycleHooks>;
|
|
47
|
-
export declare function coordinateMysqlPasswordPersistence<D extends Database, S extends AnyMySqlTable, I extends AnyMySqlTable, C extends AnyMySqlTable, AC extends AnyMySqlTable, M extends AnyMySqlTable, NativeId, PM extends ProofPersistenceMapping<any, any, any, any, any, any, any, any, any, any, any, any> | undefined, Out, E, R, DatabaseError, DatabaseRequirements>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
48
|
-
readonly mapping: Mapping<S, I, C, AC, M, NativeId>;
|
|
49
|
-
readonly proofMapping?: PM;
|
|
50
|
-
readonly transaction?: never;
|
|
51
|
-
}, body: Effect.Effect<Out, E, R>): Effect.Effect<Out, E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, PasswordPersistence> | LifecycleHooks | DatabaseRequirements>;
|
|
52
|
-
export declare function coordinateMysqlPasswordPersistence<D extends Database, S extends AnyMySqlTable, I extends AnyMySqlTable, C extends AnyMySqlTable, AC extends AnyMySqlTable, M extends AnyMySqlTable, NativeId, PM extends ProofPersistenceMapping<any, any, any, any, any, any, any, any, any, any, any, any> | undefined, Out, E, R, DatabaseError, DatabaseRequirements, TxId, TxShape>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
53
|
-
readonly mapping: Mapping<S, I, C, AC, M, NativeId>;
|
|
54
|
-
readonly proofMapping?: PM;
|
|
55
|
-
readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
|
|
56
|
-
}, body: Effect.Effect<Out, E, R>): Effect.Effect<Out, E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, PasswordPersistence | TxId> | LifecycleHooks | DatabaseRequirements>;
|
|
57
|
-
export declare const makeMysqlPasswordRegistrationServices: <Registration, S extends AnyMySqlTable, I extends AnyMySqlTable, C extends AnyMySqlTable, AC extends AnyMySqlTable, Rq extends AnyMySqlTable, NativeId>(mapping: PasswordRegistrationMapping<Registration, S, I, C, AC, Rq, NativeId>) => Effect.Effect<{
|
|
58
|
-
registrationAuthority: PasswordRegistrationAuthority<Registration>;
|
|
59
|
-
}, PasswordUnavailable, Database$1 | LifecycleHooks>;
|
|
60
|
-
export declare function coordinateMysqlPasswordRegistration<TargetId, Registration, D extends Database, S extends AnyMySqlTable, I extends AnyMySqlTable, C extends AnyMySqlTable, AC extends AnyMySqlTable, Rq extends AnyMySqlTable, NativeId, Out, E, R, DatabaseError, DatabaseRequirements>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
61
|
-
readonly mapping: PasswordRegistrationMapping<NoInfer<Registration>, S, I, C, AC, Rq, NativeId>;
|
|
62
|
-
readonly target: SuppliedService<TargetId, PasswordRegistrationAuthority<Registration>>;
|
|
63
|
-
readonly transaction?: never;
|
|
64
|
-
}, body: Effect.Effect<Out, E, R>): Effect.Effect<Out, E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements>;
|
|
65
|
-
export declare function coordinateMysqlPasswordRegistration<TargetId, Registration, D extends Database, S extends AnyMySqlTable, I extends AnyMySqlTable, C extends AnyMySqlTable, AC extends AnyMySqlTable, Rq extends AnyMySqlTable, NativeId, Out, E, R, DatabaseError, DatabaseRequirements, TxId, TxShape>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
66
|
-
readonly mapping: PasswordRegistrationMapping<NoInfer<Registration>, S, I, C, AC, Rq, NativeId>;
|
|
67
|
-
readonly target: SuppliedService<TargetId, PasswordRegistrationAuthority<Registration>>;
|
|
68
|
-
readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;
|
|
69
|
-
}, body: Effect.Effect<Out, E, R>): Effect.Effect<Out, E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements>;
|
|
70
|
-
//#endregion
|
|
71
|
-
//# sourceMappingURL=mysql-passwords.d.mts.map
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { acquireTransactionService, transactionService } from "./standalone-guard.mjs";
|
|
2
|
-
import { CurrentPasswordSql } from "./password-sql.mjs";
|
|
3
|
-
import { coordinateTargetPasswordPersistence, coordinateTargetPasswordRegistration, makeTargetPasswordPersistenceServices, makeTargetPasswordRegistrationServices, sqlClientPasswordStandaloneGuard } from "./password-target.mjs";
|
|
4
|
-
import { sqlClientProofStandaloneGuard } from "./proof-target.mjs";
|
|
5
|
-
import { nativeDatabase } from "./native-database.mjs";
|
|
6
|
-
import { Database } from "./mysql-database.mjs";
|
|
7
|
-
import { NativeDatabase } from "@yielded/auth-persistence/Adapter";
|
|
8
|
-
import { Context, Effect } from "effect";
|
|
9
|
-
import { PasswordPersistence } from "@yielded/auth/Password";
|
|
10
|
-
//#region src/drizzle/mysql-passwords.ts
|
|
11
|
-
const configuration = (service) => ({
|
|
12
|
-
mode: "interactive",
|
|
13
|
-
locking: true,
|
|
14
|
-
standaloneGuard: sqlClientPasswordStandaloneGuard(service),
|
|
15
|
-
insertIfAbsent: (query, selfKey, selfValue) => query.onDuplicateKeyUpdate({ set: { [selfKey]: selfValue } }),
|
|
16
|
-
generatedSubjectRows: (query) => query.$returningId(),
|
|
17
|
-
proof: {
|
|
18
|
-
mode: "interactive",
|
|
19
|
-
locking: true,
|
|
20
|
-
standaloneGuard: sqlClientProofStandaloneGuard(service),
|
|
21
|
-
insertIfAbsent: (query, selfKey, selfValue) => query.onDuplicateKeyUpdate({ set: { [selfKey]: selfValue } })
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
const makeMysqlPasswordPersistenceServices = (mapping, proofMapping) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetPasswordPersistenceServices(mapping, configuration, proofMapping)).pipe(Effect.provideServiceEffect(CurrentPasswordSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
25
|
-
function coordinateMysqlPasswordPersistence(acquire, options, body) {
|
|
26
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetPasswordPersistence(database, options.mapping, configuration(transactionService(database)), options.proofMapping, (transaction, services) => {
|
|
27
|
-
const provided = Context.make(PasswordPersistence, services.passwordPersistence);
|
|
28
|
-
const work = Effect.provideContext(body, provided);
|
|
29
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
30
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
31
|
-
}
|
|
32
|
-
const makeMysqlPasswordRegistrationServices = (mapping) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetPasswordRegistrationServices(mapping, configuration)).pipe(Effect.provideServiceEffect(CurrentPasswordSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
33
|
-
function coordinateMysqlPasswordRegistration(acquire, options, body) {
|
|
34
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetPasswordRegistration(database, options.mapping, configuration(transactionService(database)), (transaction, services) => {
|
|
35
|
-
const provided = Context.make(options.target, services.registrationAuthority);
|
|
36
|
-
const work = Effect.provideContext(body, provided);
|
|
37
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
38
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
39
|
-
}
|
|
40
|
-
//#endregion
|
|
41
|
-
export { coordinateMysqlPasswordPersistence, coordinateMysqlPasswordRegistration, makeMysqlPasswordPersistenceServices, makeMysqlPasswordRegistrationServices, configuration as mysqlPasswordConfiguration };
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=mysql-passwords.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mysql-passwords.mjs","names":["DatabaseService"],"sources":["../../src/drizzle/mysql-passwords.ts"],"sourcesContent":["import { NativeDatabase } from \"@yielded/auth-persistence/Adapter\";\nimport type { LifecycleHooks, HookConfigurationError } from \"@yielded/auth/Hooks\";\nimport { type PasswordUnavailable, PasswordPersistence } from \"@yielded/auth/Password\";\n/* oxlint-disable no-explicit-any -- proof mapping tables are independently typed by the proof owner; this driver forwards them unchanged to the shared target. */\nimport type { AnyRelations } from \"drizzle-orm\";\nimport type { EffectMysql2Database } from \"drizzle-orm/effect-mysql2\";\nimport type { AnyMySqlTable } from \"drizzle-orm/mysql-core\";\nimport { Effect, Context } from \"effect\";\nimport type { SqlError } from \"effect/sql/SqlError\";\n\nimport { Database as DatabaseService } from \"./mysql-database\";\nimport { nativeDatabase } from \"./native-database\";\nimport type { PasswordPersistenceMapping, PasswordRegistrationMapping } from \"./password-model\";\nimport type { PasswordRegistrationAuthority } from \"./password-registration\";\nimport { CurrentPasswordSql } from \"./password-sql\";\nimport type { PasswordSqlQuery } from \"./password-sql\";\nimport {\n coordinateTargetPasswordPersistence,\n coordinateTargetPasswordRegistration,\n makeTargetPasswordPersistenceServices,\n makeTargetPasswordRegistrationServices,\n sqlClientPasswordStandaloneGuard,\n} from \"./password-target\";\nimport type { ProofPersistenceMapping } from \"./proof-model\";\nimport type { ProofSqlQuery } from \"./proof-sql\";\nimport { sqlClientProofStandaloneGuard } from \"./proof-target\";\nimport {\n type TransactionService,\n acquireTransactionService,\n transactionService,\n} from \"./standalone-guard\";\nimport type { SuppliedService } from \"./SuppliedService\";\n\ntype Database = EffectMysql2Database<AnyRelations>;\ntype TransactionOf<D extends Database> = Parameters<Parameters<D[\"transaction\"]>[0]>[0];\n\nconst configuration = (service: TransactionService | undefined) => ({\n mode: \"interactive\" as const,\n locking: true,\n standaloneGuard: sqlClientPasswordStandaloneGuard(service),\n insertIfAbsent: (query: PasswordSqlQuery, selfKey: string, selfValue: unknown) =>\n query.onDuplicateKeyUpdate({ set: { [selfKey]: selfValue } }),\n generatedSubjectRows: (query: PasswordSqlQuery) => query.$returningId(),\n proof: {\n mode: \"interactive\" as const,\n locking: true,\n standaloneGuard: sqlClientProofStandaloneGuard(service),\n insertIfAbsent: (query: ProofSqlQuery, selfKey: string, selfValue: unknown) =>\n query.onDuplicateKeyUpdate({ set: { [selfKey]: selfValue } }),\n },\n});\n\ntype Mapping<\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n NativeId,\n> = PasswordPersistenceMapping<S, I, C, AC, M, NativeId>;\n\nexport const makeMysqlPasswordPersistenceServices = <\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n NativeId,\n>(\n mapping: Mapping<S, I, C, AC, M, NativeId>,\n proofMapping?: ProofPersistenceMapping<\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n >,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) => makeTargetPasswordPersistenceServices(mapping, configuration, proofMapping),\n ).pipe(\n Effect.provideServiceEffect(CurrentPasswordSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport function coordinateMysqlPasswordPersistence<\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n NativeId,\n PM extends\n | ProofPersistenceMapping<any, any, any, any, any, any, any, any, any, any, any, any>\n | undefined,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: Mapping<S, I, C, AC, M, NativeId>;\n readonly proofMapping?: PM;\n readonly transaction?: never;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, PasswordPersistence> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlPasswordPersistence<\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n NativeId,\n PM extends\n | ProofPersistenceMapping<any, any, any, any, any, any, any, any, any, any, any, any>\n | undefined,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: Mapping<S, I, C, AC, M, NativeId>;\n readonly proofMapping?: PM;\n readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, PasswordPersistence | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlPasswordPersistence<\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n M extends AnyMySqlTable,\n NativeId,\n PM extends\n | ProofPersistenceMapping<any, any, any, any, any, any, any, any, any, any, any, any>\n | undefined,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: Mapping<S, I, C, AC, M, NativeId>;\n readonly proofMapping?: PM;\n readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, PasswordPersistence> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetPasswordPersistence<TransactionOf<D>, Out, E, Exclude<R, PasswordPersistence>>(\n database,\n options.mapping,\n configuration(transactionService(database)),\n options.proofMapping,\n (\n transaction: TransactionOf<D>,\n services: { readonly passwordPersistence: PasswordPersistence[\"Service\"] },\n ) => {\n const provided = Context.make(PasswordPersistence, services.passwordPersistence);\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n\nexport const makeMysqlPasswordRegistrationServices = <\n Registration,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n Rq extends AnyMySqlTable,\n NativeId,\n>(\n mapping: PasswordRegistrationMapping<Registration, S, I, C, AC, Rq, NativeId>,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) => makeTargetPasswordRegistrationServices<Registration>(mapping, configuration),\n ).pipe(\n Effect.provideServiceEffect(CurrentPasswordSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport function coordinateMysqlPasswordRegistration<\n TargetId,\n Registration,\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n Rq extends AnyMySqlTable,\n NativeId,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PasswordRegistrationMapping<NoInfer<Registration>, S, I, C, AC, Rq, NativeId>;\n readonly target: SuppliedService<TargetId, PasswordRegistrationAuthority<Registration>>;\n readonly transaction?: never;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlPasswordRegistration<\n TargetId,\n Registration,\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n Rq extends AnyMySqlTable,\n NativeId,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PasswordRegistrationMapping<NoInfer<Registration>, S, I, C, AC, Rq, NativeId>;\n readonly target: SuppliedService<TargetId, PasswordRegistrationAuthority<Registration>>;\n readonly transaction: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlPasswordRegistration<\n TargetId,\n Registration,\n D extends Database,\n S extends AnyMySqlTable,\n I extends AnyMySqlTable,\n C extends AnyMySqlTable,\n AC extends AnyMySqlTable,\n Rq extends AnyMySqlTable,\n NativeId,\n Out,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PasswordRegistrationMapping<NoInfer<Registration>, S, I, C, AC, Rq, NativeId>;\n readonly target: SuppliedService<TargetId, PasswordRegistrationAuthority<Registration>>;\n readonly transaction?: SuppliedService<TxId, NoInfer<TransactionOf<D>>, TxShape>;\n },\n body: Effect.Effect<Out, E, R>,\n): Effect.Effect<\n Out,\n E | PasswordUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetPasswordRegistration<\n Registration,\n TransactionOf<D>,\n Out,\n E,\n Exclude<R, TargetId>\n >(\n database,\n options.mapping,\n configuration(transactionService(database)),\n (\n transaction: TransactionOf<D>,\n services: { readonly registrationAuthority: PasswordRegistrationAuthority<Registration> },\n ) => {\n const provided = Context.make(options.target, services.registrationAuthority);\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n\nexport { configuration as mysqlPasswordConfiguration };\n"],"mappings":";;;;;;;;;;AAoCA,MAAM,iBAAiB,aAA6C;CAClE,MAAM;CACN,SAAS;CACT,iBAAiB,iCAAiC,OAAO;CACzD,iBAAiB,OAAyB,SAAiB,cACzD,MAAM,qBAAqB,EAAE,KAAK,GAAG,UAAU,UAAU,EAAE,CAAC;CAC9D,uBAAuB,UAA4B,MAAM,aAAa;CACtE,OAAO;EACL,MAAM;EACN,SAAS;EACT,iBAAiB,8BAA8B,OAAO;EACtD,iBAAiB,OAAsB,SAAiB,cACtD,MAAM,qBAAqB,EAAE,KAAK,GAAG,UAAU,UAAU,EAAE,CAAC;CAChE;AACF;AAWA,MAAa,wCAQX,SACA,iBAeA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBAAkB,sCAAsC,SAAS,eAAe,YAAY,CAC/F,CAAC,CAAC,KACA,OAAO,qBAAqB,oBAAoB,eAAeA,QAAe,CAAC,GAC/E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AAgEF,SAAgB,mCAmBd,SACA,SAKA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,oCACE,UACA,QAAQ,SACR,cAAc,mBAAmB,QAAQ,CAAC,GAC1C,QAAQ,eAEN,aACA,aACG;EACH,MAAM,WAAW,QAAQ,KAAK,qBAAqB,SAAS,mBAAmB;EAC/E,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF;AAEA,MAAa,yCASX,YAEA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBAAkB,uCAAqD,SAAS,aAAa,CAChG,CAAC,CAAC,KACA,OAAO,qBAAqB,oBAAoB,eAAeA,QAAe,CAAC,GAC/E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AA8DF,SAAgB,oCAkBd,SACA,SAKA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,qCAOE,UACA,QAAQ,SACR,cAAc,mBAAmB,QAAQ,CAAC,IAExC,aACA,aACG;EACH,MAAM,WAAW,QAAQ,KAAK,QAAQ,QAAQ,SAAS,qBAAqB;EAC5E,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ProofPersistenceMapping } from "./proof-model.mjs";
|
|
2
|
-
import { SuppliedService } from "./SuppliedService.mjs";
|
|
3
|
-
import { Database as Database$1 } from "./mysql-database.mjs";
|
|
4
|
-
import { AnyRelations } from "drizzle-orm";
|
|
5
|
-
import { Effect } from "effect";
|
|
6
|
-
import { HookConfigurationError, LifecycleHooks } from "@yielded/auth/Hooks";
|
|
7
|
-
import { AnyMySqlTable } from "drizzle-orm/mysql-core";
|
|
8
|
-
import { ProofPersistence, ProofUnavailable } from "@yielded/auth/Proofs";
|
|
9
|
-
import { EffectMysql2Database } from "drizzle-orm/effect-mysql2";
|
|
10
|
-
import { SqlError } from "effect/sql/SqlError";
|
|
11
|
-
//#region src/drizzle/mysql-proofs.d.ts
|
|
12
|
-
type Database = EffectMysql2Database<AnyRelations>;
|
|
13
|
-
type Transaction = Parameters<Parameters<Database["transaction"]>[0]>[0];
|
|
14
|
-
type Mapping<Rq extends AnyMySqlTable, S extends AnyMySqlTable, G extends AnyMySqlTable, Cn extends AnyMySqlTable, Rs extends AnyMySqlTable, A extends AnyMySqlTable, F extends AnyMySqlTable, C extends AnyMySqlTable, Sub extends AnyMySqlTable, I extends AnyMySqlTable, Cr extends AnyMySqlTable, NativeId> = ProofPersistenceMapping<Rq, S, G, Cn, Rs, A, F, C, Sub, I, Cr, NativeId>;
|
|
15
|
-
export declare const makeMysqlProofPersistenceServices: <Rq extends AnyMySqlTable, S extends AnyMySqlTable, G extends AnyMySqlTable, Cn extends AnyMySqlTable, Rs extends AnyMySqlTable, A extends AnyMySqlTable, F extends AnyMySqlTable, C extends AnyMySqlTable, Sub extends AnyMySqlTable, I extends AnyMySqlTable, Cr extends AnyMySqlTable, NativeId>(mapping: Mapping<Rq, S, G, Cn, Rs, A, F, C, Sub, I, Cr, NativeId>) => Effect.Effect<{
|
|
16
|
-
proofPersistence: {
|
|
17
|
-
readonly issue: <A_1>(input: {
|
|
18
|
-
readonly record: import("@yielded/auth/Proofs").ProofRecord;
|
|
19
|
-
readonly policy: import("@yielded/auth/Proofs").ProofPolicy;
|
|
20
|
-
readonly eligible: boolean;
|
|
21
|
-
readonly supersedes?: import("@yielded/auth/Proofs").ProofId;
|
|
22
|
-
}, prepare: import("@yielded/auth/Proofs").PrepareProofCommit<import("@yielded/auth/Proofs").ProofIssueDecision, A_1>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A_1>, import("@yielded/auth/Proofs").ProofRequestConflict | ProofUnavailable>;
|
|
23
|
-
readonly attempt: <A_1>(input: {
|
|
24
|
-
readonly moduleId: string;
|
|
25
|
-
readonly purpose: import("@yielded/auth/Proofs").ProofPurpose;
|
|
26
|
-
readonly proofId: import("@yielded/auth/Proofs").ProofId;
|
|
27
|
-
readonly binding: import("@yielded/auth/Proofs").ProofBinding;
|
|
28
|
-
readonly candidate?: import("@yielded/auth/Proofs").ProofDigest;
|
|
29
|
-
readonly continuationId: import("@yielded/auth/Proofs").ProofContinuationId;
|
|
30
|
-
readonly continuationDigest: import("@yielded/auth/Schema").TokenDigest;
|
|
31
|
-
readonly nowMillis: number;
|
|
32
|
-
readonly policy: import("@yielded/auth/Proofs").ProofPolicy;
|
|
33
|
-
}, prepare: import("@yielded/auth/Proofs").PrepareProofCommit<import("@yielded/auth/Proofs").ProofAttemptDecision, A_1>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A_1>, ProofUnavailable>;
|
|
34
|
-
readonly complete: <A_1>(input: import("@yielded/auth/Proofs").ProofCompletionInput, prepare: import("@yielded/auth/Proofs").PrepareProofCommit<import("@yielded/auth/Proofs").ProofCompletionDecision, A_1>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A_1>, ProofUnavailable>;
|
|
35
|
-
readonly claimDelivery: <A_1>(input: {
|
|
36
|
-
readonly moduleId: string;
|
|
37
|
-
readonly proofId: import("@yielded/auth/Proofs").ProofId;
|
|
38
|
-
readonly version: import("@yielded/auth/Proofs").ProofVersion;
|
|
39
|
-
readonly deliveryId: import("@yielded/auth/Proofs").ProofDeliveryId;
|
|
40
|
-
readonly nowMillis: number;
|
|
41
|
-
readonly policy: import("@yielded/auth/Proofs").ProofPolicy;
|
|
42
|
-
readonly allowAmbiguousRetry: boolean;
|
|
43
|
-
}, prepare: import("@yielded/auth/Proofs").PrepareProofCommit<import("@yielded/auth/Proofs").ProofDeliveryClaim, A_1>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A_1>, ProofUnavailable>;
|
|
44
|
-
readonly settleDelivery: <A_1>(input: {
|
|
45
|
-
readonly moduleId: string;
|
|
46
|
-
readonly proofId: import("@yielded/auth/Proofs").ProofId;
|
|
47
|
-
readonly version: import("@yielded/auth/Proofs").ProofVersion;
|
|
48
|
-
readonly deliveryId: import("@yielded/auth/Proofs").ProofDeliveryId;
|
|
49
|
-
readonly claimVersion: import("@yielded/auth/Proofs").ProofVersion;
|
|
50
|
-
readonly outcome: import("@yielded/auth/Proofs").ProofDeliveryOutcome;
|
|
51
|
-
readonly nowMillis: number;
|
|
52
|
-
}, prepare: import("@yielded/auth/Proofs").PrepareProofCommit<void, A_1>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A_1>, ProofUnavailable>;
|
|
53
|
-
readonly cancel: <A_1>(input: {
|
|
54
|
-
readonly moduleId: string;
|
|
55
|
-
readonly purpose: import("@yielded/auth/Proofs").ProofPurpose;
|
|
56
|
-
readonly binding: import("@yielded/auth/Proofs").ProofBinding;
|
|
57
|
-
readonly nowMillis: number;
|
|
58
|
-
}, prepare: import("@yielded/auth/Proofs").PrepareProofCommit<void, A_1>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A_1>, ProofUnavailable>;
|
|
59
|
-
readonly cleanup: <A_1>(input: {
|
|
60
|
-
readonly moduleId: string;
|
|
61
|
-
readonly nowMillis: number;
|
|
62
|
-
readonly limit: number;
|
|
63
|
-
}, prepare: import("@yielded/auth/Proofs").PrepareProofCommit<import("@yielded/auth/Proofs").ProofCleanupResult, A_1>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A_1>, ProofUnavailable>;
|
|
64
|
-
};
|
|
65
|
-
}, ProofUnavailable, Database$1 | LifecycleHooks>;
|
|
66
|
-
export declare function coordinateMysqlProofPersistence<D extends Database, Rq extends AnyMySqlTable, S extends AnyMySqlTable, G extends AnyMySqlTable, Cn extends AnyMySqlTable, Rs extends AnyMySqlTable, Aev extends AnyMySqlTable, F extends AnyMySqlTable, C extends AnyMySqlTable, Sub extends AnyMySqlTable, I extends AnyMySqlTable, Cr extends AnyMySqlTable, NativeId, A, E, R, DatabaseError, DatabaseRequirements>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
67
|
-
readonly mapping: Mapping<Rq, S, G, Cn, Rs, Aev, F, C, Sub, I, Cr, NativeId>;
|
|
68
|
-
readonly transaction?: never;
|
|
69
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | ProofUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, ProofPersistence> | LifecycleHooks | DatabaseRequirements>;
|
|
70
|
-
export declare function coordinateMysqlProofPersistence<D extends Database, Rq extends AnyMySqlTable, S extends AnyMySqlTable, G extends AnyMySqlTable, Cn extends AnyMySqlTable, Rs extends AnyMySqlTable, Aev extends AnyMySqlTable, F extends AnyMySqlTable, C extends AnyMySqlTable, Sub extends AnyMySqlTable, I extends AnyMySqlTable, Cr extends AnyMySqlTable, NativeId, A, E, R, DatabaseError, DatabaseRequirements, TxId, TxShape>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
71
|
-
readonly mapping: Mapping<Rq, S, G, Cn, Rs, Aev, F, C, Sub, I, Cr, NativeId>;
|
|
72
|
-
readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;
|
|
73
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | ProofUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, ProofPersistence | TxId> | LifecycleHooks | DatabaseRequirements>;
|
|
74
|
-
//#endregion
|
|
75
|
-
//# sourceMappingURL=mysql-proofs.d.mts.map
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { updateValues } from "./model.mjs";
|
|
2
|
-
import { acquireTransactionService, transactionService } from "./standalone-guard.mjs";
|
|
3
|
-
import { CurrentProofSql } from "./proof-sql.mjs";
|
|
4
|
-
import { coordinateTargetProofPersistence, makeTargetProofPersistenceServices, sqlClientProofStandaloneGuard } from "./proof-target.mjs";
|
|
5
|
-
import { nativeDatabase } from "./native-database.mjs";
|
|
6
|
-
import { Database } from "./mysql-database.mjs";
|
|
7
|
-
import { NativeDatabase } from "@yielded/auth-persistence/Adapter";
|
|
8
|
-
import { Context, Effect } from "effect";
|
|
9
|
-
import { ProofPersistence } from "@yielded/auth/Proofs";
|
|
10
|
-
//#region src/drizzle/mysql-proofs.ts
|
|
11
|
-
const configuration = (service) => ({
|
|
12
|
-
mode: "interactive",
|
|
13
|
-
locking: true,
|
|
14
|
-
standaloneGuard: sqlClientProofStandaloneGuard(service),
|
|
15
|
-
insertIfAbsent: (query, selfKey, selfValue) => query.onDuplicateKeyUpdate({ set: updateValues([[selfKey, selfValue]]) })
|
|
16
|
-
});
|
|
17
|
-
const makeMysqlProofPersistenceServices = (mapping) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetProofPersistenceServices(mapping, configuration)).pipe(Effect.provideServiceEffect(CurrentProofSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
18
|
-
function coordinateMysqlProofPersistence(acquire, options, body) {
|
|
19
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetProofPersistence(database, options.mapping, configuration(transactionService(database)), (transaction, services) => {
|
|
20
|
-
const provided = Context.make(ProofPersistence, services.proofPersistence);
|
|
21
|
-
const work = Effect.provideContext(body, provided);
|
|
22
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
23
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
export { coordinateMysqlProofPersistence, makeMysqlProofPersistenceServices };
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=mysql-proofs.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mysql-proofs.mjs","names":["DatabaseService"],"sources":["../../src/drizzle/mysql-proofs.ts"],"sourcesContent":["import { NativeDatabase } from \"@yielded/auth-persistence/Adapter\";\nimport type { LifecycleHooks, HookConfigurationError } from \"@yielded/auth/Hooks\";\nimport { type ProofUnavailable, ProofPersistence } from \"@yielded/auth/Proofs\";\nimport type { AnyRelations } from \"drizzle-orm\";\nimport type { EffectMysql2Database } from \"drizzle-orm/effect-mysql2\";\nimport type { AnyMySqlTable } from \"drizzle-orm/mysql-core\";\nimport { Effect, Context } from \"effect\";\nimport type { SqlError } from \"effect/sql/SqlError\";\n\nimport { updateValues } from \"./model\";\nimport { Database as DatabaseService } from \"./mysql-database\";\nimport { nativeDatabase } from \"./native-database\";\nimport type { ProofPersistenceMapping } from \"./proof-model\";\nimport { CurrentProofSql } from \"./proof-sql\";\nimport type { ProofSqlQuery } from \"./proof-sql\";\nimport {\n coordinateTargetProofPersistence,\n makeTargetProofPersistenceServices,\n sqlClientProofStandaloneGuard,\n} from \"./proof-target\";\nimport {\n type TransactionService,\n acquireTransactionService,\n transactionService,\n} from \"./standalone-guard\";\nimport type { SuppliedService } from \"./SuppliedService\";\n\ntype Database = EffectMysql2Database<AnyRelations>;\ntype Transaction = Parameters<Parameters<Database[\"transaction\"]>[0]>[0];\ntype Mapping<\n Rq extends AnyMySqlTable,\n S extends AnyMySqlTable,\n G extends AnyMySqlTable,\n Cn extends AnyMySqlTable,\n Rs extends AnyMySqlTable,\n A extends AnyMySqlTable,\n F extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Sub extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Cr extends AnyMySqlTable,\n NativeId,\n> = ProofPersistenceMapping<Rq, S, G, Cn, Rs, A, F, C, Sub, I, Cr, NativeId>;\n\nconst configuration = (service: TransactionService | undefined) => ({\n mode: \"interactive\" as const,\n locking: true,\n standaloneGuard: sqlClientProofStandaloneGuard(service),\n insertIfAbsent: (query: ProofSqlQuery, selfKey: string, selfValue: unknown) =>\n query.onDuplicateKeyUpdate({\n set: updateValues([[selfKey, selfValue]]),\n }),\n});\n\nexport const makeMysqlProofPersistenceServices = <\n Rq extends AnyMySqlTable,\n S extends AnyMySqlTable,\n G extends AnyMySqlTable,\n Cn extends AnyMySqlTable,\n Rs extends AnyMySqlTable,\n A extends AnyMySqlTable,\n F extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Sub extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Cr extends AnyMySqlTable,\n NativeId,\n>(\n mapping: Mapping<Rq, S, G, Cn, Rs, A, F, C, Sub, I, Cr, NativeId>,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) => makeTargetProofPersistenceServices(mapping, configuration),\n ).pipe(\n Effect.provideServiceEffect(CurrentProofSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport function coordinateMysqlProofPersistence<\n D extends Database,\n Rq extends AnyMySqlTable,\n S extends AnyMySqlTable,\n G extends AnyMySqlTable,\n Cn extends AnyMySqlTable,\n Rs extends AnyMySqlTable,\n Aev extends AnyMySqlTable,\n F extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Sub extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Cr extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: Mapping<Rq, S, G, Cn, Rs, Aev, F, C, Sub, I, Cr, NativeId>;\n readonly transaction?: never;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | ProofUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, ProofPersistence> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlProofPersistence<\n D extends Database,\n Rq extends AnyMySqlTable,\n S extends AnyMySqlTable,\n G extends AnyMySqlTable,\n Cn extends AnyMySqlTable,\n Rs extends AnyMySqlTable,\n Aev extends AnyMySqlTable,\n F extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Sub extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Cr extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: Mapping<Rq, S, G, Cn, Rs, Aev, F, C, Sub, I, Cr, NativeId>;\n readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | ProofUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, ProofPersistence | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlProofPersistence<\n D extends Database,\n Rq extends AnyMySqlTable,\n S extends AnyMySqlTable,\n G extends AnyMySqlTable,\n Cn extends AnyMySqlTable,\n Rs extends AnyMySqlTable,\n Aev extends AnyMySqlTable,\n F extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Sub extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Cr extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: Mapping<Rq, S, G, Cn, Rs, Aev, F, C, Sub, I, Cr, NativeId>;\n readonly transaction?: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | ProofUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, ProofPersistence> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetProofPersistence<Transaction, A, E, Exclude<R, ProofPersistence>>(\n database,\n options.mapping,\n configuration(transactionService(database)),\n (\n transaction: Transaction,\n services: { readonly proofPersistence: ProofPersistence[\"Service\"] },\n ) => {\n const provided = Context.make(ProofPersistence, services.proofPersistence);\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n"],"mappings":";;;;;;;;;;AA4CA,MAAM,iBAAiB,aAA6C;CAClE,MAAM;CACN,SAAS;CACT,iBAAiB,8BAA8B,OAAO;CACtD,iBAAiB,OAAsB,SAAiB,cACtD,MAAM,qBAAqB,EACzB,KAAK,aAAa,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,EAC1C,CAAC;AACL;AAEA,MAAa,qCAcX,YAEA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBAAkB,mCAAmC,SAAS,aAAa,CAC9E,CAAC,CAAC,KACA,OAAO,qBAAqB,iBAAiB,eAAeA,QAAe,CAAC,GAC5E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AAoEF,SAAgB,gCAsBd,SACA,SAIA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,iCACE,UACA,QAAQ,SACR,cAAc,mBAAmB,QAAQ,CAAC,IAExC,aACA,aACG;EACH,MAAM,WAAW,QAAQ,KAAK,kBAAkB,SAAS,gBAAgB;EACzE,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { AuthenticationAuthorityMapping, PendingAuthenticationMapping, SignedSessionValidityMapping, StatefulSessionMapping } from "./session-model.mjs";
|
|
2
|
-
import { SessionStepUpMapping } from "./step-up-model.mjs";
|
|
3
|
-
import { SuppliedService } from "./SuppliedService.mjs";
|
|
4
|
-
import { Database as Database$1 } from "./mysql-database.mjs";
|
|
5
|
-
import { AnyRelations } from "drizzle-orm";
|
|
6
|
-
import { Context, Effect } from "effect";
|
|
7
|
-
import { HookConfigurationError, LifecycleHooks } from "@yielded/auth/Hooks";
|
|
8
|
-
import { AuthenticationAuthority, PendingAuthentication, SessionRepository, SessionStepUpPersistence, SessionUnavailable, SignedSessionValidity, StatefulSessionPersistence } from "@yielded/auth/Sessions";
|
|
9
|
-
import { AnyMySqlTable } from "drizzle-orm/mysql-core";
|
|
10
|
-
import { EffectMysql2Database } from "drizzle-orm/effect-mysql2";
|
|
11
|
-
import { SqlError } from "effect/sql/SqlError";
|
|
12
|
-
//#region src/drizzle/mysql-sessions.d.ts
|
|
13
|
-
type Database = EffectMysql2Database<AnyRelations>;
|
|
14
|
-
type Transaction = Parameters<Parameters<Database["transaction"]>[0]>[0];
|
|
15
|
-
export declare const makeMysqlAuthenticationAuthorityServices: <Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, F extends AnyMySqlTable, P extends AnyMySqlTable, NativeId>(mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>) => Effect.Effect<{
|
|
16
|
-
authenticationAuthority: {
|
|
17
|
-
readonly capture: (subjectId: import("@yielded/auth/Schema").SubjectId, credentialIds: ReadonlyArray<string>) => Effect.Effect<import("@yielded/auth/Sessions").AuthenticationCapture, import("@yielded/auth/Sessions").StaleAuthentication | SessionUnavailable>;
|
|
18
|
-
readonly requirements: (evidence: import("@yielded/auth/Sessions").AuthenticationEvidence) => Effect.Effect<import("@yielded/auth/Sessions").AuthenticationRequirement, import("@yielded/auth/Sessions").StaleAuthentication | SessionUnavailable>;
|
|
19
|
-
readonly approve: <A>(input: {
|
|
20
|
-
readonly evidence: import("@yielded/auth/Sessions").AuthenticationEvidence;
|
|
21
|
-
readonly now: import("effect/DateTime").Utc;
|
|
22
|
-
readonly expiresAt: import("effect/DateTime").Utc;
|
|
23
|
-
readonly absoluteExpiresAt: import("effect/DateTime").Utc;
|
|
24
|
-
readonly pending?: import("@yielded/auth/Sessions").PendingConsumption;
|
|
25
|
-
}, prepare: import("@yielded/auth/Sessions").PrepareSessionCommit<void, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/Sessions").StaleAuthentication | import("@yielded/auth/Sessions").PendingAuthenticationInvalid | SessionUnavailable>;
|
|
26
|
-
};
|
|
27
|
-
}, SessionUnavailable, Database$1 | LifecycleHooks>;
|
|
28
|
-
export declare const makeMysqlPendingAuthenticationServices: <Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, P extends AnyMySqlTable, F extends AnyMySqlTable, NativeId>(mapping: PendingAuthenticationMapping<Claims, S, C, P, F, NativeId>) => Effect.Effect<{
|
|
29
|
-
pendingAuthentication: PendingAuthentication<Claims>;
|
|
30
|
-
}, SessionUnavailable, Database$1 | LifecycleHooks>;
|
|
31
|
-
export declare const makeMysqlStatefulSessionServices: <Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, Session extends AnyMySqlTable, F extends AnyMySqlTable, P extends AnyMySqlTable, NativeId, NativeSessionId>(mapping: StatefulSessionMapping<Claims, S, C, Session, F, P, NativeId, NativeSessionId>) => Effect.Effect<{
|
|
32
|
-
readonly statefulSessionPersistence: StatefulSessionPersistence<Claims>;
|
|
33
|
-
readonly sessionRepository: SessionRepository;
|
|
34
|
-
}, SessionUnavailable, Database$1 | LifecycleHooks>;
|
|
35
|
-
export declare const makeMysqlSignedSessionValidityServices: <S extends AnyMySqlTable, T extends AnyMySqlTable, NativeId, NativeSessionId>(mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>) => Effect.Effect<{
|
|
36
|
-
signedSessionValidity: SignedSessionValidity;
|
|
37
|
-
}, SessionUnavailable, Database$1 | LifecycleHooks>;
|
|
38
|
-
export declare function coordinateMysqlAuthenticationAuthority<D extends Database, Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, F extends AnyMySqlTable, P extends AnyMySqlTable, NativeId, A, E, R, DatabaseError, DatabaseRequirements>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
39
|
-
readonly mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>;
|
|
40
|
-
readonly transaction?: never;
|
|
41
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, AuthenticationAuthority> | LifecycleHooks | DatabaseRequirements>;
|
|
42
|
-
export declare function coordinateMysqlAuthenticationAuthority<D extends Database, Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, F extends AnyMySqlTable, P extends AnyMySqlTable, NativeId, A, E, R, DatabaseError, DatabaseRequirements, TxId, TxShape>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
43
|
-
readonly mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>;
|
|
44
|
-
readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;
|
|
45
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, AuthenticationAuthority | TxId> | LifecycleHooks | DatabaseRequirements>;
|
|
46
|
-
export declare function coordinateMysqlPendingAuthentication<D extends Database, TargetId, Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, P extends AnyMySqlTable, F extends AnyMySqlTable, NativeId, A, E, R, DatabaseError, DatabaseRequirements>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
47
|
-
readonly mapping: PendingAuthenticationMapping<NoInfer<Claims>, S, C, P, F, NativeId>;
|
|
48
|
-
readonly target: SuppliedService<TargetId, PendingAuthentication<Claims>>;
|
|
49
|
-
readonly transaction?: never;
|
|
50
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements>;
|
|
51
|
-
export declare function coordinateMysqlPendingAuthentication<D extends Database, TargetId, Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, P extends AnyMySqlTable, F extends AnyMySqlTable, NativeId, A, E, R, DatabaseError, DatabaseRequirements, TxId, TxShape>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
52
|
-
readonly mapping: PendingAuthenticationMapping<NoInfer<Claims>, S, C, P, F, NativeId>;
|
|
53
|
-
readonly target: SuppliedService<TargetId, PendingAuthentication<Claims>>;
|
|
54
|
-
readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;
|
|
55
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements>;
|
|
56
|
-
export declare function coordinateMysqlStatefulSessions<D extends Database, PersistenceId, RepositoryId, Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, Session extends AnyMySqlTable, F extends AnyMySqlTable, P extends AnyMySqlTable, NativeId, NativeSessionId, A, E, R, DatabaseError, DatabaseRequirements>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
57
|
-
readonly mapping: StatefulSessionMapping<NoInfer<Claims>, S, C, Session, F, P, NativeId, NativeSessionId>;
|
|
58
|
-
readonly persistence: SuppliedService<PersistenceId, StatefulSessionPersistence<Claims>>;
|
|
59
|
-
readonly repository: SuppliedService<RepositoryId, SessionRepository>;
|
|
60
|
-
readonly transaction?: never;
|
|
61
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, PersistenceId | RepositoryId> | LifecycleHooks | DatabaseRequirements>;
|
|
62
|
-
export declare function coordinateMysqlStatefulSessions<D extends Database, PersistenceId, RepositoryId, Claims, S extends AnyMySqlTable, C extends AnyMySqlTable, Session extends AnyMySqlTable, F extends AnyMySqlTable, P extends AnyMySqlTable, NativeId, NativeSessionId, A, E, R, DatabaseError, DatabaseRequirements, TxId, TxShape>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
63
|
-
readonly mapping: StatefulSessionMapping<NoInfer<Claims>, S, C, Session, F, P, NativeId, NativeSessionId>;
|
|
64
|
-
readonly persistence: SuppliedService<PersistenceId, StatefulSessionPersistence<Claims>>;
|
|
65
|
-
readonly repository: SuppliedService<RepositoryId, SessionRepository>;
|
|
66
|
-
readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;
|
|
67
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, PersistenceId | RepositoryId | TxId> | LifecycleHooks | DatabaseRequirements>;
|
|
68
|
-
export declare function coordinateMysqlSignedSessionValidity<D extends Database, TargetId, S extends AnyMySqlTable, T extends AnyMySqlTable, NativeId, NativeSessionId, A, E, R, DatabaseError, DatabaseRequirements>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
69
|
-
readonly mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>;
|
|
70
|
-
readonly target: SuppliedService<TargetId, SignedSessionValidity>;
|
|
71
|
-
readonly transaction?: never;
|
|
72
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements>;
|
|
73
|
-
export declare function coordinateMysqlSignedSessionValidity<D extends Database, TargetId, S extends AnyMySqlTable, T extends AnyMySqlTable, NativeId, NativeSessionId, A, E, R, DatabaseError, DatabaseRequirements, TxId, TxShape>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
74
|
-
readonly mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>;
|
|
75
|
-
readonly target: SuppliedService<TargetId, SignedSessionValidity>;
|
|
76
|
-
readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;
|
|
77
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements>;
|
|
78
|
-
export declare const makeMysqlSessionStepUpServices: <Claims, Id, S extends AnyMySqlTable, C extends AnyMySqlTable, I extends AnyMySqlTable, Session extends AnyMySqlTable, T extends AnyMySqlTable, NativeId, NativeSessionId>(mapping: SessionStepUpMapping<NoInfer<Claims>, S, C, I, Session, T, NativeId, NativeSessionId>, target: Context.Service<Id, SessionStepUpPersistence<Claims>>) => Effect.Effect<{
|
|
79
|
-
sessionStepUpPersistence: SessionStepUpPersistence<Claims>;
|
|
80
|
-
}, SessionUnavailable, Database$1 | LifecycleHooks>;
|
|
81
|
-
export declare function coordinateMysqlSessionStepUp<Claims, Id, S extends AnyMySqlTable, C extends AnyMySqlTable, I extends AnyMySqlTable, Session extends AnyMySqlTable, T extends AnyMySqlTable, NativeId, NativeSessionId, D extends Database, A, E, R, DatabaseError, DatabaseRequirements>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
82
|
-
readonly mapping: SessionStepUpMapping<NoInfer<Claims>, S, C, I, Session, T, NativeId, NativeSessionId>;
|
|
83
|
-
readonly target: SuppliedService<Id, SessionStepUpPersistence<Claims>>;
|
|
84
|
-
readonly transaction?: never;
|
|
85
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, Id> | LifecycleHooks | DatabaseRequirements>;
|
|
86
|
-
export declare function coordinateMysqlSessionStepUp<Claims, Id, S extends AnyMySqlTable, C extends AnyMySqlTable, I extends AnyMySqlTable, Session extends AnyMySqlTable, T extends AnyMySqlTable, NativeId, NativeSessionId, D extends Database, A, E, R, DatabaseError, DatabaseRequirements, TxId, TxShape>(acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>, options: {
|
|
87
|
-
readonly mapping: SessionStepUpMapping<NoInfer<Claims>, S, C, I, Session, T, NativeId, NativeSessionId>;
|
|
88
|
-
readonly target: SuppliedService<Id, SessionStepUpPersistence<Claims>>;
|
|
89
|
-
readonly transaction: SuppliedService<TxId, NoInfer<Parameters<Parameters<D["transaction"]>[0]>[0]>, TxShape>;
|
|
90
|
-
}, body: Effect.Effect<A, E, R>): Effect.Effect<A, E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError, Exclude<R, Id | TxId> | LifecycleHooks | DatabaseRequirements>;
|
|
91
|
-
//#endregion
|
|
92
|
-
//# sourceMappingURL=mysql-sessions.d.mts.map
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { CurrentSessionSql } from "./session-sql.mjs";
|
|
2
|
-
import { acquireTransactionService, transactionService } from "./standalone-guard.mjs";
|
|
3
|
-
import { coordinateTargetAuthenticationAuthority, coordinateTargetPendingAuthentication, coordinateTargetSessionStepUp, coordinateTargetSignedSessionValidity, coordinateTargetStatefulSessions, makeTargetAuthenticationAuthorityServices, makeTargetPendingAuthenticationServices, makeTargetSessionStepUpServices, makeTargetSignedSessionValidityServices, makeTargetStatefulSessionServices, sqlClientSessionStandaloneGuard } from "./session-target.mjs";
|
|
4
|
-
import { nativeDatabase } from "./native-database.mjs";
|
|
5
|
-
import { Database } from "./mysql-database.mjs";
|
|
6
|
-
import { NativeDatabase } from "@yielded/auth-persistence/Adapter";
|
|
7
|
-
import { Context, Effect } from "effect";
|
|
8
|
-
import { AuthenticationAuthority } from "@yielded/auth/Sessions";
|
|
9
|
-
//#region src/drizzle/mysql-sessions.ts
|
|
10
|
-
const configuration = (service) => ({
|
|
11
|
-
mode: "interactive",
|
|
12
|
-
locking: true,
|
|
13
|
-
standaloneGuard: sqlClientSessionStandaloneGuard(service)
|
|
14
|
-
});
|
|
15
|
-
const makeMysqlAuthenticationAuthorityServices = (mapping) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetAuthenticationAuthorityServices(mapping, configuration)).pipe(Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
16
|
-
const makeMysqlPendingAuthenticationServices = (mapping) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetPendingAuthenticationServices(mapping, configuration)).pipe(Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
17
|
-
const makeMysqlStatefulSessionServices = (mapping) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetStatefulSessionServices(mapping, configuration)).pipe(Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
18
|
-
const makeMysqlSignedSessionValidityServices = (mapping) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetSignedSessionValidityServices(mapping, configuration)).pipe(Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
19
|
-
function coordinateMysqlAuthenticationAuthority(acquire, options, body) {
|
|
20
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetAuthenticationAuthority(database, options.mapping, configuration(transactionService(database)), (transaction, services) => {
|
|
21
|
-
const provided = Context.make(AuthenticationAuthority, services.authenticationAuthority);
|
|
22
|
-
const work = Effect.provideContext(body, provided);
|
|
23
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
24
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
25
|
-
}
|
|
26
|
-
function coordinateMysqlPendingAuthentication(acquire, options, body) {
|
|
27
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetPendingAuthentication(database, options.mapping, configuration(transactionService(database)), (transaction, services) => {
|
|
28
|
-
const provided = Context.make(options.target, services.pendingAuthentication);
|
|
29
|
-
const work = Effect.provideContext(body, provided);
|
|
30
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
31
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
32
|
-
}
|
|
33
|
-
function coordinateMysqlStatefulSessions(acquire, options, body) {
|
|
34
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetStatefulSessions(database, options.mapping, configuration(transactionService(database)), (transaction, services) => {
|
|
35
|
-
const provided = Context.make(options.persistence, services.statefulSessionPersistence).pipe(Context.add(options.repository, services.sessionRepository));
|
|
36
|
-
const work = Effect.provideContext(body, provided);
|
|
37
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
38
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
39
|
-
}
|
|
40
|
-
function coordinateMysqlSignedSessionValidity(acquire, options, body) {
|
|
41
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetSignedSessionValidity(database, options.mapping, configuration(transactionService(database)), (transaction, services) => {
|
|
42
|
-
const provided = Context.make(options.target, services.signedSessionValidity);
|
|
43
|
-
const work = Effect.provideContext(body, provided);
|
|
44
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
45
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
46
|
-
}
|
|
47
|
-
const makeMysqlSessionStepUpServices = (mapping, target) => Effect.flatMap(Effect.map(acquireTransactionService(Database), configuration), (configuration) => makeTargetSessionStepUpServices(mapping, target, configuration)).pipe(Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(Database)), Effect.provideServiceEffect(NativeDatabase, nativeDatabase(Database)));
|
|
48
|
-
function coordinateMysqlSessionStepUp(acquire, options, body) {
|
|
49
|
-
return Effect.flatMap(nativeDatabase(acquire), (database) => coordinateTargetSessionStepUp(database, options.mapping, options.target, configuration(transactionService(database)), (transaction, services) => {
|
|
50
|
-
const provided = Context.make(options.target, services.sessionStepUpPersistence);
|
|
51
|
-
const work = Effect.provideContext(body, provided);
|
|
52
|
-
return options.transaction === void 0 ? work : Effect.provideService(work, options.transaction, options.transaction.of(transaction));
|
|
53
|
-
}).pipe(Effect.provideService(NativeDatabase, database)));
|
|
54
|
-
}
|
|
55
|
-
//#endregion
|
|
56
|
-
export { coordinateMysqlAuthenticationAuthority, coordinateMysqlPendingAuthentication, coordinateMysqlSessionStepUp, coordinateMysqlSignedSessionValidity, coordinateMysqlStatefulSessions, makeMysqlAuthenticationAuthorityServices, makeMysqlPendingAuthenticationServices, makeMysqlSessionStepUpServices, makeMysqlSignedSessionValidityServices, makeMysqlStatefulSessionServices };
|
|
57
|
-
|
|
58
|
-
//# sourceMappingURL=mysql-sessions.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mysql-sessions.mjs","names":["DatabaseService"],"sources":["../../src/drizzle/mysql-sessions.ts"],"sourcesContent":["import { NativeDatabase } from \"@yielded/auth-persistence/Adapter\";\nimport type { LifecycleHooks, HookConfigurationError } from \"@yielded/auth/Hooks\";\nimport {\n AuthenticationAuthority,\n type SessionUnavailable,\n type PendingAuthentication,\n type SessionRepository,\n type SignedSessionValidity,\n type StatefulSessionPersistence,\n type SessionStepUpPersistence,\n} from \"@yielded/auth/Sessions\";\nimport type { AnyRelations } from \"drizzle-orm\";\nimport type { EffectMysql2Database } from \"drizzle-orm/effect-mysql2\";\nimport type { AnyMySqlTable } from \"drizzle-orm/mysql-core\";\nimport { Effect, Context } from \"effect\";\nimport type { SqlError } from \"effect/sql/SqlError\";\n\nimport { Database as DatabaseService } from \"./mysql-database\";\nimport { nativeDatabase } from \"./native-database\";\nimport type {\n AuthenticationAuthorityMapping,\n PendingAuthenticationMapping,\n SignedSessionValidityMapping,\n StatefulSessionMapping,\n} from \"./session-model\";\nimport { CurrentSessionSql } from \"./session-sql\";\nimport {\n coordinateTargetAuthenticationAuthority,\n coordinateTargetPendingAuthentication,\n coordinateTargetSignedSessionValidity,\n coordinateTargetStatefulSessions,\n makeTargetAuthenticationAuthorityServices,\n makeTargetPendingAuthenticationServices,\n makeTargetSignedSessionValidityServices,\n makeTargetStatefulSessionServices,\n sqlClientSessionStandaloneGuard,\n makeTargetSessionStepUpServices,\n coordinateTargetSessionStepUp,\n} from \"./session-target\";\nimport {\n type TransactionService,\n acquireTransactionService,\n transactionService,\n} from \"./standalone-guard\";\nimport type { SuppliedService } from \"./SuppliedService\";\n\ntype Database = EffectMysql2Database<AnyRelations>;\ntype Transaction = Parameters<Parameters<Database[\"transaction\"]>[0]>[0];\n\nconst configuration = (service: TransactionService | undefined) => ({\n mode: \"interactive\" as const,\n locking: true,\n standaloneGuard: sqlClientSessionStandaloneGuard(service),\n});\n\nexport const makeMysqlAuthenticationAuthorityServices = <\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n F extends AnyMySqlTable,\n P extends AnyMySqlTable,\n NativeId,\n>(\n mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) => makeTargetAuthenticationAuthorityServices<Claims>(mapping, configuration),\n ).pipe(\n Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport const makeMysqlPendingAuthenticationServices = <\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n P extends AnyMySqlTable,\n F extends AnyMySqlTable,\n NativeId,\n>(\n mapping: PendingAuthenticationMapping<Claims, S, C, P, F, NativeId>,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) => makeTargetPendingAuthenticationServices<Claims>(mapping, configuration),\n ).pipe(\n Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport const makeMysqlStatefulSessionServices = <\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Session extends AnyMySqlTable,\n F extends AnyMySqlTable,\n P extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n>(\n mapping: StatefulSessionMapping<Claims, S, C, Session, F, P, NativeId, NativeSessionId>,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) => makeTargetStatefulSessionServices<Claims>(mapping, configuration),\n ).pipe(\n Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport const makeMysqlSignedSessionValidityServices = <\n S extends AnyMySqlTable,\n T extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n>(\n mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) => makeTargetSignedSessionValidityServices(mapping, configuration),\n ).pipe(\n Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport function coordinateMysqlAuthenticationAuthority<\n D extends Database,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n F extends AnyMySqlTable,\n P extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>;\n readonly transaction?: never;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, AuthenticationAuthority> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlAuthenticationAuthority<\n D extends Database,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n F extends AnyMySqlTable,\n P extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>;\n readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, AuthenticationAuthority | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlAuthenticationAuthority<\n D extends Database,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n F extends AnyMySqlTable,\n P extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: AuthenticationAuthorityMapping<Claims, S, C, F, P, NativeId>;\n readonly transaction?: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, AuthenticationAuthority> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetAuthenticationAuthority<\n Claims,\n Transaction,\n A,\n E,\n Exclude<R, AuthenticationAuthority>\n >(\n database,\n options.mapping,\n configuration(transactionService(database)),\n (\n transaction: Transaction,\n services: { readonly authenticationAuthority: AuthenticationAuthority[\"Service\"] },\n ) => {\n const provided = Context.make(AuthenticationAuthority, services.authenticationAuthority);\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n\nexport function coordinateMysqlPendingAuthentication<\n D extends Database,\n TargetId,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n P extends AnyMySqlTable,\n F extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PendingAuthenticationMapping<NoInfer<Claims>, S, C, P, F, NativeId>;\n readonly target: SuppliedService<TargetId, PendingAuthentication<Claims>>;\n readonly transaction?: never;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlPendingAuthentication<\n D extends Database,\n TargetId,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n P extends AnyMySqlTable,\n F extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PendingAuthenticationMapping<NoInfer<Claims>, S, C, P, F, NativeId>;\n readonly target: SuppliedService<TargetId, PendingAuthentication<Claims>>;\n readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlPendingAuthentication<\n D extends Database,\n TargetId,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n P extends AnyMySqlTable,\n F extends AnyMySqlTable,\n NativeId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: PendingAuthenticationMapping<NoInfer<Claims>, S, C, P, F, NativeId>;\n readonly target: SuppliedService<TargetId, PendingAuthentication<Claims>>;\n readonly transaction?: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetPendingAuthentication<Claims, Transaction, A, E, Exclude<R, TargetId>>(\n database,\n options.mapping,\n configuration(transactionService(database)),\n (\n transaction: Transaction,\n services: { readonly pendingAuthentication: PendingAuthentication<Claims> },\n ) => {\n const provided = Context.make(options.target, services.pendingAuthentication);\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n\nexport function coordinateMysqlStatefulSessions<\n D extends Database,\n PersistenceId,\n RepositoryId,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Session extends AnyMySqlTable,\n F extends AnyMySqlTable,\n P extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: StatefulSessionMapping<\n NoInfer<Claims>,\n S,\n C,\n Session,\n F,\n P,\n NativeId,\n NativeSessionId\n >;\n readonly persistence: SuppliedService<PersistenceId, StatefulSessionPersistence<Claims>>;\n readonly repository: SuppliedService<RepositoryId, SessionRepository>;\n readonly transaction?: never;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, PersistenceId | RepositoryId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlStatefulSessions<\n D extends Database,\n PersistenceId,\n RepositoryId,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Session extends AnyMySqlTable,\n F extends AnyMySqlTable,\n P extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: StatefulSessionMapping<\n NoInfer<Claims>,\n S,\n C,\n Session,\n F,\n P,\n NativeId,\n NativeSessionId\n >;\n readonly persistence: SuppliedService<PersistenceId, StatefulSessionPersistence<Claims>>;\n readonly repository: SuppliedService<RepositoryId, SessionRepository>;\n readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, PersistenceId | RepositoryId | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlStatefulSessions<\n D extends Database,\n PersistenceId,\n RepositoryId,\n Claims,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n Session extends AnyMySqlTable,\n F extends AnyMySqlTable,\n P extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: StatefulSessionMapping<\n NoInfer<Claims>,\n S,\n C,\n Session,\n F,\n P,\n NativeId,\n NativeSessionId\n >;\n readonly persistence: SuppliedService<PersistenceId, StatefulSessionPersistence<Claims>>;\n readonly repository: SuppliedService<RepositoryId, SessionRepository>;\n readonly transaction?: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, PersistenceId | RepositoryId> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetStatefulSessions<\n Claims,\n Transaction,\n A,\n E,\n Exclude<R, PersistenceId | RepositoryId>\n >(\n database,\n options.mapping,\n configuration(transactionService(database)),\n (\n transaction: Transaction,\n services: {\n readonly statefulSessionPersistence: StatefulSessionPersistence<Claims>;\n readonly sessionRepository: SessionRepository;\n },\n ) => {\n const provided = Context.make(\n options.persistence,\n services.statefulSessionPersistence,\n ).pipe(Context.add(options.repository, services.sessionRepository));\n\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n\nexport function coordinateMysqlSignedSessionValidity<\n D extends Database,\n TargetId,\n S extends AnyMySqlTable,\n T extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>;\n readonly target: SuppliedService<TargetId, SignedSessionValidity>;\n readonly transaction?: never;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlSignedSessionValidity<\n D extends Database,\n TargetId,\n S extends AnyMySqlTable,\n T extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>;\n readonly target: SuppliedService<TargetId, SignedSessionValidity>;\n readonly transaction: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlSignedSessionValidity<\n D extends Database,\n TargetId,\n S extends AnyMySqlTable,\n T extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: SignedSessionValidityMapping<S, T, NativeId, NativeSessionId>;\n readonly target: SuppliedService<TargetId, SignedSessionValidity>;\n readonly transaction?: SuppliedService<TxId, NoInfer<Transaction>, TxShape>;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, TargetId> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetSignedSessionValidity<Transaction, A, E, Exclude<R, TargetId>>(\n database,\n options.mapping,\n configuration(transactionService(database)),\n (\n transaction: Transaction,\n services: { readonly signedSessionValidity: SignedSessionValidity },\n ) => {\n const provided = Context.make(options.target, services.signedSessionValidity);\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n\nimport type { SessionStepUpMapping } from \"./step-up-model\";\n\nexport const makeMysqlSessionStepUpServices = <\n Claims,\n Id,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Session extends AnyMySqlTable,\n T extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n>(\n mapping: SessionStepUpMapping<NoInfer<Claims>, S, C, I, Session, T, NativeId, NativeSessionId>,\n target: Context.Service<Id, SessionStepUpPersistence<Claims>>,\n) =>\n Effect.flatMap(\n Effect.map(acquireTransactionService(DatabaseService), configuration),\n (configuration) => makeTargetSessionStepUpServices(mapping, target, configuration),\n ).pipe(\n Effect.provideServiceEffect(CurrentSessionSql, nativeDatabase(DatabaseService)),\n Effect.provideServiceEffect(NativeDatabase, nativeDatabase(DatabaseService)),\n );\n\nexport function coordinateMysqlSessionStepUp<\n Claims,\n Id,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Session extends AnyMySqlTable,\n T extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n D extends Database,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: SessionStepUpMapping<\n NoInfer<Claims>,\n S,\n C,\n I,\n Session,\n T,\n NativeId,\n NativeSessionId\n >;\n readonly target: SuppliedService<Id, SessionStepUpPersistence<Claims>>;\n readonly transaction?: never;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, Id> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlSessionStepUp<\n Claims,\n Id,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Session extends AnyMySqlTable,\n T extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n D extends Database,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: SessionStepUpMapping<\n NoInfer<Claims>,\n S,\n C,\n I,\n Session,\n T,\n NativeId,\n NativeSessionId\n >;\n readonly target: SuppliedService<Id, SessionStepUpPersistence<Claims>>;\n readonly transaction: SuppliedService<\n TxId,\n NoInfer<Parameters<Parameters<D[\"transaction\"]>[0]>[0]>,\n TxShape\n >;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, Id | TxId> | LifecycleHooks | DatabaseRequirements\n>;\n\nexport function coordinateMysqlSessionStepUp<\n Claims,\n Id,\n S extends AnyMySqlTable,\n C extends AnyMySqlTable,\n I extends AnyMySqlTable,\n Session extends AnyMySqlTable,\n T extends AnyMySqlTable,\n NativeId,\n NativeSessionId,\n D extends Database,\n A,\n E,\n R,\n DatabaseError,\n DatabaseRequirements,\n TxId,\n TxShape,\n>(\n acquire: Effect.Effect<D, DatabaseError, DatabaseRequirements>,\n options: {\n readonly mapping: SessionStepUpMapping<\n NoInfer<Claims>,\n S,\n C,\n I,\n Session,\n T,\n NativeId,\n NativeSessionId\n >;\n readonly target: SuppliedService<Id, SessionStepUpPersistence<Claims>>;\n readonly transaction?: SuppliedService<\n TxId,\n NoInfer<Parameters<Parameters<D[\"transaction\"]>[0]>[0]>,\n TxShape\n >;\n },\n body: Effect.Effect<A, E, R>,\n): Effect.Effect<\n A,\n E | SessionUnavailable | HookConfigurationError | SqlError | DatabaseError,\n Exclude<R, Id> | LifecycleHooks | DatabaseRequirements\n> {\n return Effect.flatMap(nativeDatabase(acquire), (database) =>\n coordinateTargetSessionStepUp<\n Claims,\n Id,\n Parameters<Parameters<D[\"transaction\"]>[0]>[0],\n A,\n E,\n Exclude<R, Id>\n >(\n database,\n options.mapping,\n options.target,\n configuration(transactionService(database)),\n (\n transaction: Parameters<Parameters<D[\"transaction\"]>[0]>[0],\n services: { readonly sessionStepUpPersistence: SessionStepUpPersistence<Claims> },\n ) => {\n const provided = Context.make(options.target, services.sessionStepUpPersistence);\n const work = Effect.provideContext(body, provided);\n\n return options.transaction === undefined\n ? work\n : Effect.provideService(work, options.transaction, options.transaction.of(transaction));\n },\n ).pipe(Effect.provideService(NativeDatabase, database)),\n );\n}\n"],"mappings":";;;;;;;;;AAiDA,MAAM,iBAAiB,aAA6C;CAClE,MAAM;CACN,SAAS;CACT,iBAAiB,gCAAgC,OAAO;AAC1D;AAEA,MAAa,4CAQX,YAEA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBAAkB,0CAAkD,SAAS,aAAa,CAC7F,CAAC,CAAC,KACA,OAAO,qBAAqB,mBAAmB,eAAeA,QAAe,CAAC,GAC9E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AAEF,MAAa,0CAQX,YAEA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBAAkB,wCAAgD,SAAS,aAAa,CAC3F,CAAC,CAAC,KACA,OAAO,qBAAqB,mBAAmB,eAAeA,QAAe,CAAC,GAC9E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AAEF,MAAa,oCAUX,YAEA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBAAkB,kCAA0C,SAAS,aAAa,CACrF,CAAC,CAAC,KACA,OAAO,qBAAqB,mBAAmB,eAAeA,QAAe,CAAC,GAC9E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AAEF,MAAa,0CAMX,YAEA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBAAkB,wCAAwC,SAAS,aAAa,CACnF,CAAC,CAAC,KACA,OAAO,qBAAqB,mBAAmB,eAAeA,QAAe,CAAC,GAC9E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AAwDF,SAAgB,uCAgBd,SACA,SAIA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,wCAOE,UACA,QAAQ,SACR,cAAc,mBAAmB,QAAQ,CAAC,IAExC,aACA,aACG;EACH,MAAM,WAAW,QAAQ,KAAK,yBAAyB,SAAS,uBAAuB;EACvF,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF;AA4DA,SAAgB,qCAiBd,SACA,SAKA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,sCACE,UACA,QAAQ,SACR,cAAc,mBAAmB,QAAQ,CAAC,IAExC,aACA,aACG;EACH,MAAM,WAAW,QAAQ,KAAK,QAAQ,QAAQ,SAAS,qBAAqB;EAC5E,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF;AAsFA,SAAgB,gCAoBd,SACA,SAeA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,iCAOE,UACA,QAAQ,SACR,cAAc,mBAAmB,QAAQ,CAAC,IAExC,aACA,aAIG;EACH,MAAM,WAAW,QAAQ,KACvB,QAAQ,aACR,SAAS,0BACX,CAAC,CAAC,KAAK,QAAQ,IAAI,QAAQ,YAAY,SAAS,iBAAiB,CAAC;EAElE,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF;AAwDA,SAAgB,qCAed,SACA,SAKA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,sCACE,UACA,QAAQ,SACR,cAAc,mBAAmB,QAAQ,CAAC,IAExC,aACA,aACG;EACH,MAAM,WAAW,QAAQ,KAAK,QAAQ,QAAQ,SAAS,qBAAqB;EAC5E,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF;AAIA,MAAa,kCAWX,SACA,WAEA,OAAO,QACL,OAAO,IAAI,0BAA0BA,QAAe,GAAG,aAAa,IACnE,kBAAkB,gCAAgC,SAAS,QAAQ,aAAa,CACnF,CAAC,CAAC,KACA,OAAO,qBAAqB,mBAAmB,eAAeA,QAAe,CAAC,GAC9E,OAAO,qBAAqB,gBAAgB,eAAeA,QAAe,CAAC,CAC7E;AAsFF,SAAgB,6BAmBd,SACA,SAkBA,MAKA;CACA,OAAO,OAAO,QAAQ,eAAe,OAAO,IAAI,aAC9C,8BAQE,UACA,QAAQ,SACR,QAAQ,QACR,cAAc,mBAAmB,QAAQ,CAAC,IAExC,aACA,aACG;EACH,MAAM,WAAW,QAAQ,KAAK,QAAQ,QAAQ,SAAS,wBAAwB;EAC/E,MAAM,OAAO,OAAO,eAAe,MAAM,QAAQ;EAEjD,OAAO,QAAQ,gBAAgB,KAAA,IAC3B,OACA,OAAO,eAAe,MAAM,QAAQ,aAAa,QAAQ,YAAY,GAAG,WAAW,CAAC;CAC1F,CACF,CAAC,CAAC,KAAK,OAAO,eAAe,gBAAgB,QAAQ,CAAC,CACxD;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-connected-model.mjs","names":[],"sources":["../../src/drizzle/oauth-connected-model.ts"],"sourcesContent":["import * as Shared from \"@yielded/auth-persistence/Adapter\";\nimport type { SQL, Table } from \"drizzle-orm\";\n\nimport type { DrizzleTableModel } from \"./table-model\";\n\nexport {\n type OAuthConnectedAction,\n type OAuthConnectedOrderCodec,\n type OAuthConnectedPolicyInput,\n requiredOAuthConnectedConstraints,\n requiredOAuthConnectedRevocationConstraints,\n} from \"@yielded/auth-persistence/Adapter\";\n\nexport type OAuthConnectedSubjectTable<S extends Table> = Shared.OAuthConnectedSubjectTable<\n DrizzleTableModel<S>,\n SQL\n>;\n\nexport type OAuthConnectedFlowTable<F extends Table, N> = Shared.OAuthConnectedFlowTable<\n DrizzleTableModel<F>,\n N\n>;\n\nexport type OAuthConnectedGrantTable<G extends Table, N> = Shared.OAuthConnectedGrantTable<\n DrizzleTableModel<G>,\n N\n>;\n\n/** Also stores a permanent provider/issuer scope anchor. clientKey must fit 52\n * ASCII characters. Empty clientRegistrationId is reserved for that anchor;\n * actual profile registrations are nonempty. Scope counter stays zero. */\nexport type OAuthConnectedClientRegistrationTable<C extends Table> =\n Shared.OAuthConnectedClientRegistrationTable<DrizzleTableModel<C>>;\n\n/** Remote authority: no local-subject column or subject-scoped key. Retain this\n * anchor/cutoff when a legitimately released tuple gains a different local owner. */\nexport type OAuthConnectedCohortTable<C extends Table> = Shared.OAuthConnectedCohortTable<\n DrizzleTableModel<C>\n>;\n\nexport type OAuthConnectedAdmissionTable<A extends Table, N> = Shared.OAuthConnectedAdmissionTable<\n DrizzleTableModel<A>,\n N\n>;\n\nexport type OAuthConnectedCommandTable<C extends Table, N> = Shared.OAuthConnectedCommandTable<\n DrizzleTableModel<C>,\n N\n>;\n\nexport type OAuthConnectedRevocationJobTable<\n J extends Table,\n N,\n> = Shared.OAuthConnectedRevocationJobTable<DrizzleTableModel<J>, N>;\n\nexport type OAuthConnectedPolicyGuardTable<\n T extends Table,\n N,\n> = Shared.OAuthConnectedPolicyGuardTable<DrizzleTableModel<T>, N, SQL>;\n\nexport type OAuthConnectedPolicyGuard<N> = Shared.OAuthConnectedPolicyGuard<N, SQL, Table>;\n\nexport const oauthConnectedPolicyGuard = <T extends Table, N>(\n input: OAuthConnectedPolicyGuardTable<T, N>,\n): OAuthConnectedPolicyGuard<N> =>\n Shared.oauthConnectedPolicyGuard<DrizzleTableModel<T>, N, SQL>(input);\n\nexport type OAuthConnectedSqlPolicy<N> = Shared.OAuthConnectedSqlPolicy<N, SQL, Table>;\n\n/** Existing ownership only; workers never allocate or acquire a tuple. */\nexport type OAuthConnectedOwnershipRead<\n T extends Table,\n O extends Table,\n N,\n> = Shared.OAuthConnectedOwnershipRead<DrizzleTableModel<T>, DrizzleTableModel<O>, N, SQL>;\n\nexport type OAuthConnectedAuthorityMapping<\n T extends Table,\n O extends Table,\n F extends Table,\n G extends Table,\n C extends Table,\n H extends Table,\n N,\n> = Shared.OAuthConnectedAuthorityMapping<\n DrizzleTableModel<T>,\n DrizzleTableModel<O>,\n DrizzleTableModel<F>,\n DrizzleTableModel<G>,\n DrizzleTableModel<C>,\n DrizzleTableModel<H>,\n N,\n SQL\n>;\n\nexport type OAuthConnectedMapping<\n S extends Table,\n AC extends Table,\n T extends Table,\n O extends Table,\n F extends Table,\n G extends Table,\n C extends Table,\n H extends Table,\n A extends Table,\n D extends Table,\n N,\n J extends Table = never,\n> = Shared.OAuthConnectedMapping<\n DrizzleTableModel<S>,\n DrizzleTableModel<AC>,\n DrizzleTableModel<T>,\n DrizzleTableModel<O>,\n DrizzleTableModel<F>,\n DrizzleTableModel<G>,\n DrizzleTableModel<C>,\n DrizzleTableModel<H>,\n DrizzleTableModel<A>,\n DrizzleTableModel<D>,\n N,\n DrizzleTableModel<J>,\n SQL,\n Table,\n DrizzleTableModel<Table>\n>;\n\nexport type OAuthConnectedRevocationMapping<\n T extends Table,\n O extends Table,\n F extends Table,\n G extends Table,\n C extends Table,\n H extends Table,\n J extends Table,\n N,\n> = Shared.OAuthConnectedRevocationMapping<\n DrizzleTableModel<T>,\n DrizzleTableModel<O>,\n DrizzleTableModel<F>,\n DrizzleTableModel<G>,\n DrizzleTableModel<C>,\n DrizzleTableModel<H>,\n DrizzleTableModel<J>,\n N,\n SQL\n>;\n"],"mappings":";;;AA8DA,MAAa,6BACX,UAEA,OAAO,0BAAwD,KAAK"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { OAuthKernel } from "@yielded/auth-persistence/Adapter";
|
|
2
|
-
//#region src/drizzle/oauth-connected-target.d.ts
|
|
3
|
-
export declare const oauthConnectedPersistenceLayer: OAuthKernel["connectedTarget"]["oauthConnectedPersistenceLayer"];
|
|
4
|
-
export declare const oauthConnectedRevocationsLayer: OAuthKernel["connectedTarget"]["oauthConnectedRevocationsLayer"];
|
|
5
|
-
//#endregion
|
|
6
|
-
//# sourceMappingURL=oauth-connected-target.d.mts.map
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { oauthKernel } from "./oauth-kernel.mjs";
|
|
2
|
-
//#region src/drizzle/oauth-connected-target.ts
|
|
3
|
-
const makeTargetOAuthConnectedServices = oauthKernel.connectedTarget.makeTargetOAuthConnectedServices;
|
|
4
|
-
const makeTargetOAuthConnectedRevocationServices = oauthKernel.connectedTarget.makeTargetOAuthConnectedRevocationServices;
|
|
5
|
-
const coordinateTargetOAuthConnected = oauthKernel.connectedTarget.coordinateTargetOAuthConnected;
|
|
6
|
-
const coordinateTargetOAuthConnectedRevocations = oauthKernel.connectedTarget.coordinateTargetOAuthConnectedRevocations;
|
|
7
|
-
const oauthConnectedPersistenceLayer = oauthKernel.connectedTarget.oauthConnectedPersistenceLayer;
|
|
8
|
-
const oauthConnectedRevocationsLayer = oauthKernel.connectedTarget.oauthConnectedRevocationsLayer;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { coordinateTargetOAuthConnected, coordinateTargetOAuthConnectedRevocations, makeTargetOAuthConnectedRevocationServices, makeTargetOAuthConnectedServices, oauthConnectedPersistenceLayer, oauthConnectedRevocationsLayer };
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=oauth-connected-target.mjs.map
|