@yielded/auth-persistence-drizzle 0.1.0-beta.25 → 0.1.0-beta.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/D1.d.mts +495 -1151
- package/dist/D1.mjs +41 -19
- package/dist/D1.mjs.map +1 -1
- package/dist/Libsql.d.mts +385 -1996
- package/dist/Libsql.mjs +43 -47
- package/dist/Libsql.mjs.map +1 -1
- package/dist/Mysql2.d.mts +397 -1743
- package/dist/Mysql2.mjs +35 -41
- package/dist/Mysql2.mjs.map +1 -1
- package/dist/Pglite.d.mts +397 -1743
- package/dist/Pglite.mjs +42 -31
- package/dist/Pglite.mjs.map +1 -1
- package/dist/Postgres.d.mts +397 -1743
- package/dist/Postgres.mjs +42 -31
- package/dist/Postgres.mjs.map +1 -1
- package/dist/SqliteBun.d.mts +385 -1992
- package/dist/SqliteBun.mjs +43 -43
- package/dist/SqliteBun.mjs.map +1 -1
- package/dist/SqliteDo.d.mts +385 -1991
- package/dist/SqliteDo.mjs +42 -41
- package/dist/SqliteDo.mjs.map +1 -1
- package/dist/SqliteNode.d.mts +385 -1992
- package/dist/SqliteNode.mjs +43 -43
- package/dist/SqliteNode.mjs.map +1 -1
- package/dist/SqliteWasm.d.mts +385 -1992
- package/dist/SqliteWasm.mjs +43 -43
- package/dist/SqliteWasm.mjs.map +1 -1
- package/dist/drizzle/d1-identity.mjs +2 -2
- package/dist/drizzle/d1-identity.mjs.map +1 -1
- package/dist/drizzle/driver-types.d.mts +15 -0
- package/dist/drizzle/email-drivers.mjs +32 -0
- package/dist/drizzle/email-drivers.mjs.map +1 -0
- package/dist/drizzle/email-model.d.mts +9 -13
- package/dist/drizzle/email-target.d.mts +10 -11
- package/dist/drizzle/email-target.mjs +33 -70
- package/dist/drizzle/email-target.mjs.map +1 -1
- package/dist/drizzle/model.d.mts +1 -10
- package/dist/drizzle/model.mjs +1 -2
- package/dist/drizzle/model.mjs.map +1 -1
- package/dist/drizzle/mysql-identity.mjs +3 -6
- package/dist/drizzle/mysql-identity.mjs.map +1 -1
- package/dist/drizzle/native-clock.d.mts +9 -0
- package/dist/drizzle/native-clock.mjs +18 -0
- package/dist/drizzle/native-clock.mjs.map +1 -0
- package/dist/drizzle/native-database.d.mts +46 -0
- package/dist/drizzle/native-database.mjs +6 -5
- package/dist/drizzle/native-database.mjs.map +1 -1
- package/dist/drizzle/native-sql-table.mjs +13 -5
- package/dist/drizzle/native-sql-table.mjs.map +1 -1
- package/dist/drizzle/native-target.d.mts +6 -0
- package/dist/drizzle/native-target.mjs +44 -0
- package/dist/drizzle/native-target.mjs.map +1 -0
- package/dist/drizzle/oauth-connected-drivers.mjs +4 -56
- package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -1
- package/dist/drizzle/oauth-connected-model.d.mts +5 -22
- package/dist/drizzle/oauth-connected-model.mjs +1 -7
- package/dist/drizzle/oauth-connected-reference.d.mts +5 -7
- package/dist/drizzle/oauth-connected-reference.mjs +11 -3
- package/dist/drizzle/oauth-connected-reference.mjs.map +1 -1
- package/dist/drizzle/oauth-drivers.mjs +1 -2
- package/dist/drizzle/oauth-drivers.mjs.map +1 -1
- package/dist/drizzle/oauth-model.d.mts +11 -37
- package/dist/drizzle/oauth-model.mjs +3 -4
- package/dist/drizzle/oauth-model.mjs.map +1 -1
- package/dist/drizzle/oauth-proxy.d.mts +1 -1
- package/dist/drizzle/oauth-proxy.mjs +1 -1
- package/dist/drizzle/oauth-target.d.mts +9 -6
- package/dist/drizzle/oauth-target.mjs +47 -15
- package/dist/drizzle/oauth-target.mjs.map +1 -1
- package/dist/drizzle/passkey/target.d.mts +14 -0
- package/dist/drizzle/passkey/target.mjs +52 -0
- package/dist/drizzle/passkey/target.mjs.map +1 -0
- package/dist/drizzle/passkey/write-target.d.mts +11 -0
- package/dist/drizzle/passkey/write-target.mjs +28 -0
- package/dist/drizzle/passkey/write-target.mjs.map +1 -0
- package/dist/drizzle/passkey-drivers.mjs +2 -4
- package/dist/drizzle/passkey-drivers.mjs.map +1 -1
- package/dist/drizzle/passkey-model.d.mts +5 -26
- package/dist/drizzle/passkey-model.mjs +2 -8
- package/dist/drizzle/passkey-registration-ceremony-model.d.mts +3 -6
- package/dist/drizzle/passkey-write-drivers.mjs +2 -3
- package/dist/drizzle/passkey-write-drivers.mjs.map +1 -1
- package/dist/drizzle/passkey-write-model.d.mts +7 -9
- package/dist/drizzle/passkey-write-model.mjs +1 -3
- package/dist/drizzle/passkey-write-model.mjs.map +1 -1
- package/dist/drizzle/password-drivers.mjs +31 -0
- package/dist/drizzle/password-drivers.mjs.map +1 -0
- package/dist/drizzle/password-model.d.mts +7 -10
- package/dist/drizzle/password-target.d.mts +7 -8
- package/dist/drizzle/password-target.mjs +23 -68
- package/dist/drizzle/password-target.mjs.map +1 -1
- package/dist/drizzle/pg-identity.mjs +3 -6
- package/dist/drizzle/pg-identity.mjs.map +1 -1
- package/dist/drizzle/phone-drivers.mjs +24 -0
- package/dist/drizzle/phone-drivers.mjs.map +1 -0
- package/dist/drizzle/phone-model.d.mts +13 -104
- package/dist/drizzle/phone-model.mjs +5 -33
- package/dist/drizzle/phone-model.mjs.map +1 -1
- package/dist/drizzle/phone-target.mjs +22 -171
- package/dist/drizzle/phone-target.mjs.map +1 -1
- package/dist/drizzle/proof-drivers.mjs +24 -0
- package/dist/drizzle/proof-drivers.mjs.map +1 -0
- package/dist/drizzle/proof-model.d.mts +7 -15
- package/dist/drizzle/proof-target.d.mts +5 -5
- package/dist/drizzle/proof-target.mjs +14 -28
- package/dist/drizzle/proof-target.mjs.map +1 -1
- package/dist/drizzle/session-drivers.mjs +97 -0
- package/dist/drizzle/session-drivers.mjs.map +1 -0
- package/dist/drizzle/session-model.d.mts +11 -22
- package/dist/drizzle/sqlite-do-database.d.mts +3 -3
- package/dist/drizzle/sqlite-do-database.mjs +6 -1
- package/dist/drizzle/sqlite-do-database.mjs.map +1 -1
- package/dist/drizzle/sqlite-identity.mjs +3 -5
- package/dist/drizzle/sqlite-identity.mjs.map +1 -1
- package/dist/drizzle/step-up-model.d.mts +2 -5
- package/dist/drizzle/storage-validation.mjs +2 -1
- package/dist/drizzle/storage-validation.mjs.map +1 -1
- package/dist/drizzle/totp-model.d.mts +7 -74
- package/dist/drizzle/totp-model.mjs +1 -5
- package/dist/drizzle/totp-model.mjs.map +1 -1
- package/dist/drizzle/totp-target.mjs +39 -75
- package/dist/drizzle/totp-target.mjs.map +1 -1
- package/dist/drizzle/transaction-handle.mjs +13 -0
- package/dist/drizzle/transaction-handle.mjs.map +1 -0
- package/dist/drizzle/transaction-mysql.mjs +43 -12
- package/dist/drizzle/transaction-mysql.mjs.map +1 -1
- package/dist/index.d.mts +17 -22
- package/dist/index.mjs +10 -16
- package/dist/internal/drizzle-postgres.mjs +4 -6
- package/dist/internal/drizzle-postgres.mjs.map +1 -1
- package/dist/internal/drizzle-sqlite.mjs +4 -6
- package/dist/internal/drizzle-sqlite.mjs.map +1 -1
- package/package.json +1 -1
- package/src/D1.ts +77 -74
- package/src/Libsql.ts +65 -105
- package/src/Mysql2.ts +52 -87
- package/src/Pglite.ts +74 -81
- package/src/Postgres.ts +74 -81
- package/src/SqliteBun.ts +65 -113
- package/src/SqliteDo.ts +58 -106
- package/src/SqliteNode.ts +65 -113
- package/src/SqliteWasm.ts +65 -113
- package/src/drizzle/d1-identity.ts +2 -2
- package/src/drizzle/driver-types.ts +26 -0
- package/src/drizzle/email-drivers.ts +320 -0
- package/src/drizzle/email-model.ts +24 -78
- package/src/drizzle/email-target.ts +118 -211
- package/src/drizzle/model.ts +0 -2
- package/src/drizzle/mysql-identity.ts +4 -24
- package/src/drizzle/native-clock.ts +21 -0
- package/src/drizzle/native-database.ts +59 -18
- package/src/drizzle/native-sql-table.ts +104 -87
- package/src/drizzle/native-target.ts +120 -0
- package/src/drizzle/oauth-connected-drivers.ts +24 -233
- package/src/drizzle/oauth-connected-model.ts +3 -93
- package/src/drizzle/oauth-connected-reference.ts +16 -25
- package/src/drizzle/oauth-drivers.ts +58 -99
- package/src/drizzle/oauth-model.ts +27 -132
- package/src/drizzle/oauth-target.ts +250 -33
- package/src/drizzle/passkey/target.ts +205 -0
- package/src/drizzle/passkey/write-target.ts +91 -0
- package/src/drizzle/passkey-drivers.ts +35 -133
- package/src/drizzle/passkey-model.ts +3 -81
- package/src/drizzle/passkey-registration-ceremony-model.ts +5 -25
- package/src/drizzle/passkey-write-drivers.ts +32 -102
- package/src/drizzle/passkey-write-model.ts +10 -44
- package/src/drizzle/password-drivers.ts +286 -0
- package/src/drizzle/password-model.ts +10 -44
- package/src/drizzle/password-target.ts +85 -239
- package/src/drizzle/pg-identity.ts +4 -19
- package/src/drizzle/phone-drivers.ts +142 -0
- package/src/drizzle/phone-model.ts +22 -162
- package/src/drizzle/phone-target.ts +51 -493
- package/src/drizzle/proof-drivers.ts +123 -0
- package/src/drizzle/proof-model.ts +12 -123
- package/src/drizzle/proof-target.ts +38 -102
- package/src/drizzle/session-drivers.ts +696 -0
- package/src/drizzle/session-model.ts +54 -118
- package/src/drizzle/sqlite-do-database.ts +8 -0
- package/src/drizzle/sqlite-identity.ts +4 -22
- package/src/drizzle/step-up-model.ts +13 -37
- package/src/drizzle/storage-validation.ts +2 -1
- package/src/drizzle/totp-model.ts +20 -77
- package/src/drizzle/totp-target.ts +121 -261
- package/src/drizzle/transaction-handle.ts +41 -0
- package/src/drizzle/transaction-mysql.ts +90 -25
- package/src/index.ts +7 -122
- package/src/internal/drizzle-postgres.ts +4 -7
- package/src/internal/drizzle-sqlite.ts +4 -7
- package/dist/drizzle/crypto.mjs +0 -11
- package/dist/drizzle/crypto.mjs.map +0 -1
- package/dist/drizzle/d1-emails.d.mts +0 -62
- package/dist/drizzle/d1-emails.mjs +0 -626
- package/dist/drizzle/d1-emails.mjs.map +0 -1
- package/dist/drizzle/d1-generated-statement.mjs +0 -79
- package/dist/drizzle/d1-generated-statement.mjs.map +0 -1
- package/dist/drizzle/d1-oauth.d.mts +0 -331
- package/dist/drizzle/d1-oauth.mjs +0 -79
- package/dist/drizzle/d1-oauth.mjs.map +0 -1
- package/dist/drizzle/d1-passkey.d.mts +0 -37
- package/dist/drizzle/d1-passkey.mjs +0 -98
- package/dist/drizzle/d1-passkey.mjs.map +0 -1
- package/dist/drizzle/d1-password-prepared.d.mts +0 -25
- package/dist/drizzle/d1-password-prepared.mjs +0 -473
- package/dist/drizzle/d1-password-prepared.mjs.map +0 -1
- package/dist/drizzle/d1-passwords.d.mts +0 -70
- package/dist/drizzle/d1-passwords.mjs +0 -808
- package/dist/drizzle/d1-passwords.mjs.map +0 -1
- package/dist/drizzle/d1-phone.d.mts +0 -23
- package/dist/drizzle/d1-phone.mjs +0 -33
- package/dist/drizzle/d1-phone.mjs.map +0 -1
- package/dist/drizzle/d1-planning.d.mts +0 -11
- package/dist/drizzle/d1-planning.mjs +0 -43
- package/dist/drizzle/d1-planning.mjs.map +0 -1
- package/dist/drizzle/d1-proofs.d.mts +0 -80
- package/dist/drizzle/d1-proofs.mjs +0 -842
- package/dist/drizzle/d1-proofs.mjs.map +0 -1
- package/dist/drizzle/d1-sessions.d.mts +0 -68
- package/dist/drizzle/d1-sessions.mjs +0 -987
- package/dist/drizzle/d1-sessions.mjs.map +0 -1
- package/dist/drizzle/d1-totp.d.mts +0 -23
- package/dist/drizzle/d1-totp.mjs +0 -30
- package/dist/drizzle/d1-totp.mjs.map +0 -1
- package/dist/drizzle/email-registration.d.mts +0 -33
- package/dist/drizzle/email-registration.mjs +0 -281
- package/dist/drizzle/email-registration.mjs.map +0 -1
- package/dist/drizzle/email-sql.d.mts +0 -1
- package/dist/drizzle/email-sql.mjs +0 -9
- package/dist/drizzle/email-sql.mjs.map +0 -1
- package/dist/drizzle/mysql-emails.d.mts +0 -71
- package/dist/drizzle/mysql-emails.mjs +0 -43
- package/dist/drizzle/mysql-emails.mjs.map +0 -1
- package/dist/drizzle/mysql-password-prepared.d.mts +0 -30
- package/dist/drizzle/mysql-password-prepared.mjs +0 -21
- package/dist/drizzle/mysql-password-prepared.mjs.map +0 -1
- package/dist/drizzle/mysql-passwords.d.mts +0 -71
- package/dist/drizzle/mysql-passwords.mjs +0 -43
- package/dist/drizzle/mysql-passwords.mjs.map +0 -1
- package/dist/drizzle/mysql-proofs.d.mts +0 -75
- package/dist/drizzle/mysql-proofs.mjs +0 -28
- package/dist/drizzle/mysql-proofs.mjs.map +0 -1
- package/dist/drizzle/mysql-sessions.d.mts +0 -92
- package/dist/drizzle/mysql-sessions.mjs +0 -58
- package/dist/drizzle/mysql-sessions.mjs.map +0 -1
- package/dist/drizzle/oauth-connected-model.mjs.map +0 -1
- package/dist/drizzle/oauth-connected-target.d.mts +0 -6
- package/dist/drizzle/oauth-connected-target.mjs +0 -12
- package/dist/drizzle/oauth-connected-target.mjs.map +0 -1
- package/dist/drizzle/oauth-kernel.mjs +0 -11
- package/dist/drizzle/oauth-kernel.mjs.map +0 -1
- package/dist/drizzle/oauth-mysql.mjs +0 -8
- package/dist/drizzle/oauth-mysql.mjs.map +0 -1
- package/dist/drizzle/passkey-kernel.mjs +0 -8
- package/dist/drizzle/passkey-kernel.mjs.map +0 -1
- package/dist/drizzle/passkey-model.mjs.map +0 -1
- package/dist/drizzle/passkey-registration-ceremony-model.mjs +0 -2
- package/dist/drizzle/passkey-state.mjs +0 -7
- package/dist/drizzle/passkey-state.mjs.map +0 -1
- package/dist/drizzle/passkey-target.d.mts +0 -2
- package/dist/drizzle/passkey-target.mjs +0 -7
- package/dist/drizzle/passkey-target.mjs.map +0 -1
- package/dist/drizzle/passkey-write-target.d.mts +0 -5
- package/dist/drizzle/passkey-write-target.mjs +0 -7
- package/dist/drizzle/passkey-write-target.mjs.map +0 -1
- package/dist/drizzle/password-prepared-model.d.mts +0 -92
- package/dist/drizzle/password-prepared-model.mjs +0 -11
- package/dist/drizzle/password-prepared-model.mjs.map +0 -1
- package/dist/drizzle/password-prepared-sql.mjs +0 -395
- package/dist/drizzle/password-prepared-sql.mjs.map +0 -1
- package/dist/drizzle/password-prepared-state.mjs +0 -104
- package/dist/drizzle/password-prepared-state.mjs.map +0 -1
- package/dist/drizzle/password-prepared-target.d.mts +0 -13
- package/dist/drizzle/password-prepared-target.mjs +0 -62
- package/dist/drizzle/password-prepared-target.mjs.map +0 -1
- package/dist/drizzle/password-registration.d.mts +0 -7
- package/dist/drizzle/password-registration.mjs +0 -137
- package/dist/drizzle/password-registration.mjs.map +0 -1
- package/dist/drizzle/password-sql.d.mts +0 -1
- package/dist/drizzle/password-sql.mjs +0 -10
- package/dist/drizzle/password-sql.mjs.map +0 -1
- package/dist/drizzle/pg-emails.d.mts +0 -72
- package/dist/drizzle/pg-emails.mjs +0 -43
- package/dist/drizzle/pg-emails.mjs.map +0 -1
- package/dist/drizzle/pg-password-prepared.d.mts +0 -31
- package/dist/drizzle/pg-password-prepared.mjs +0 -21
- package/dist/drizzle/pg-password-prepared.mjs.map +0 -1
- package/dist/drizzle/pg-passwords.d.mts +0 -72
- package/dist/drizzle/pg-passwords.mjs +0 -43
- package/dist/drizzle/pg-passwords.mjs.map +0 -1
- package/dist/drizzle/pg-proofs.d.mts +0 -76
- package/dist/drizzle/pg-proofs.mjs +0 -27
- package/dist/drizzle/pg-proofs.mjs.map +0 -1
- package/dist/drizzle/pg-sessions.d.mts +0 -93
- package/dist/drizzle/pg-sessions.mjs +0 -58
- package/dist/drizzle/pg-sessions.mjs.map +0 -1
- package/dist/drizzle/phone-state.mjs +0 -14
- package/dist/drizzle/phone-state.mjs.map +0 -1
- package/dist/drizzle/phone-target.d.mts +0 -15
- package/dist/drizzle/proof-sql.d.mts +0 -1
- package/dist/drizzle/proof-sql.mjs +0 -8
- package/dist/drizzle/proof-sql.mjs.map +0 -1
- package/dist/drizzle/query-operations.mjs +0 -31
- package/dist/drizzle/query-operations.mjs.map +0 -1
- package/dist/drizzle/session-sql.d.mts +0 -1
- package/dist/drizzle/session-sql.mjs +0 -9
- package/dist/drizzle/session-sql.mjs.map +0 -1
- package/dist/drizzle/session-target.d.mts +0 -30
- package/dist/drizzle/session-target.mjs +0 -49
- package/dist/drizzle/session-target.mjs.map +0 -1
- package/dist/drizzle/sqlite-emails.mjs +0 -50
- package/dist/drizzle/sqlite-emails.mjs.map +0 -1
- package/dist/drizzle/sqlite-password-prepared.mjs +0 -26
- package/dist/drizzle/sqlite-password-prepared.mjs.map +0 -1
- package/dist/drizzle/sqlite-passwords.mjs +0 -54
- package/dist/drizzle/sqlite-passwords.mjs.map +0 -1
- package/dist/drizzle/sqlite-proofs.mjs +0 -34
- package/dist/drizzle/sqlite-proofs.mjs.map +0 -1
- package/dist/drizzle/sqlite-sessions.mjs +0 -79
- package/dist/drizzle/sqlite-sessions.mjs.map +0 -1
- package/dist/drizzle/standalone-guard.d.mts +0 -2
- package/dist/drizzle/standalone-guard.mjs +0 -21
- package/dist/drizzle/standalone-guard.mjs.map +0 -1
- package/dist/drizzle/totp-state.d.mts +0 -37
- package/dist/drizzle/totp-state.mjs +0 -287
- package/dist/drizzle/totp-state.mjs.map +0 -1
- package/dist/drizzle/totp-target.d.mts +0 -15
- package/dist/drizzle/transaction-execution.d.mts +0 -2
- package/dist/drizzle/transaction-execution.mjs +0 -11
- package/dist/drizzle/transaction-execution.mjs.map +0 -1
- package/dist/drizzle/transaction-owner.d.mts +0 -1
- package/dist/drizzle/transaction-owner.mjs +0 -8
- package/dist/drizzle/transaction-owner.mjs.map +0 -1
- package/src/drizzle/crypto.ts +0 -14
- package/src/drizzle/d1-emails.ts +0 -1945
- package/src/drizzle/d1-generated-statement.ts +0 -129
- package/src/drizzle/d1-oauth.ts +0 -360
- package/src/drizzle/d1-passkey.ts +0 -383
- package/src/drizzle/d1-password-prepared.ts +0 -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,10 +1,12 @@
|
|
|
1
1
|
import type * as Shared from "@yielded/auth-persistence/Adapter";
|
|
2
2
|
import type { SQL, Table } from "drizzle-orm";
|
|
3
3
|
|
|
4
|
+
import type { ClockMapping } from "./native-clock";
|
|
4
5
|
import type { DrizzleTableModel } from "./table-model";
|
|
5
6
|
|
|
6
7
|
export {
|
|
7
8
|
type SessionIdCodec,
|
|
9
|
+
type SessionPendingInsert,
|
|
8
10
|
type RequiredSessionConstraints,
|
|
9
11
|
type RequiredPendingAuthenticationConstraints,
|
|
10
12
|
type RequiredStatefulPendingConstraints,
|
|
@@ -13,7 +15,6 @@ export {
|
|
|
13
15
|
requiredPendingAuthenticationConstraints,
|
|
14
16
|
requiredStatefulPendingConstraints,
|
|
15
17
|
requiredSignedValidityConstraints,
|
|
16
|
-
type SessionConstraintClassifier,
|
|
17
18
|
} from "@yielded/auth-persistence/Adapter";
|
|
18
19
|
|
|
19
20
|
export type SessionSubjectTables<Subject extends Table, NativeId> = Shared.SessionSubjectTables<
|
|
@@ -31,36 +32,28 @@ export type SessionAuthorityTables<
|
|
|
31
32
|
NativeId
|
|
32
33
|
>;
|
|
33
34
|
|
|
34
|
-
export type SessionFlowTables<Flow extends Table, NativeSubjectId> = Shared.SessionFlowTables<
|
|
35
|
-
DrizzleTableModel<Flow>,
|
|
36
|
-
NativeSubjectId
|
|
37
|
-
>;
|
|
38
|
-
|
|
39
35
|
export type StatefulSessionTables<
|
|
40
36
|
Claims,
|
|
41
37
|
Session extends Table,
|
|
42
|
-
Flow extends Table,
|
|
43
38
|
NativeSubjectId,
|
|
44
39
|
NativeSessionId,
|
|
45
40
|
> = Shared.StatefulSessionTables<
|
|
46
41
|
Claims,
|
|
47
42
|
DrizzleTableModel<Session>,
|
|
48
|
-
DrizzleTableModel<Flow>,
|
|
49
43
|
NativeSubjectId,
|
|
50
44
|
NativeSessionId
|
|
51
45
|
>;
|
|
52
46
|
|
|
47
|
+
export type SessionPendingTables<
|
|
48
|
+
Pending extends Table,
|
|
49
|
+
NativeSubjectId,
|
|
50
|
+
> = Shared.SessionPendingTables<DrizzleTableModel<Pending>, NativeSubjectId>;
|
|
51
|
+
|
|
53
52
|
export type PendingAuthenticationTables<
|
|
54
53
|
Claims,
|
|
55
54
|
Pending extends Table,
|
|
56
|
-
Flow extends Table,
|
|
57
55
|
NativeSubjectId,
|
|
58
|
-
> = Shared.PendingAuthenticationTables<
|
|
59
|
-
Claims,
|
|
60
|
-
DrizzleTableModel<Pending>,
|
|
61
|
-
DrizzleTableModel<Flow>,
|
|
62
|
-
NativeSubjectId
|
|
63
|
-
>;
|
|
56
|
+
> = Shared.PendingAuthenticationTables<Claims, DrizzleTableModel<Pending>, NativeSubjectId>;
|
|
64
57
|
|
|
65
58
|
export type SignedSessionValidityTables<
|
|
66
59
|
Tombstone extends Table,
|
|
@@ -76,16 +69,17 @@ export type AuthenticationAuthorityMapping<
|
|
|
76
69
|
Claims,
|
|
77
70
|
Subject extends Table,
|
|
78
71
|
Credential extends Table,
|
|
79
|
-
Flow extends Table,
|
|
80
72
|
Pending extends Table,
|
|
81
73
|
NativeSubjectId,
|
|
82
|
-
> =
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
74
|
+
> = ClockMapping<
|
|
75
|
+
Shared.AuthenticationAuthorityMapping<
|
|
76
|
+
Claims,
|
|
77
|
+
DrizzleTableModel<Subject>,
|
|
78
|
+
DrizzleTableModel<Credential>,
|
|
79
|
+
DrizzleTableModel<Pending>,
|
|
80
|
+
NativeSubjectId,
|
|
81
|
+
SQL
|
|
82
|
+
>
|
|
89
83
|
>;
|
|
90
84
|
|
|
91
85
|
export type StatefulSessionMapping<
|
|
@@ -93,19 +87,20 @@ export type StatefulSessionMapping<
|
|
|
93
87
|
Subject extends Table,
|
|
94
88
|
Credential extends Table,
|
|
95
89
|
Session extends Table,
|
|
96
|
-
Flow extends Table,
|
|
97
90
|
Pending extends Table,
|
|
98
91
|
NativeSubjectId,
|
|
99
92
|
NativeSessionId,
|
|
100
|
-
> =
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
93
|
+
> = ClockMapping<
|
|
94
|
+
Shared.StatefulSessionMapping<
|
|
95
|
+
Claims,
|
|
96
|
+
DrizzleTableModel<Subject>,
|
|
97
|
+
DrizzleTableModel<Credential>,
|
|
98
|
+
DrizzleTableModel<Session>,
|
|
99
|
+
DrizzleTableModel<Pending>,
|
|
100
|
+
NativeSubjectId,
|
|
101
|
+
NativeSessionId,
|
|
102
|
+
SQL
|
|
103
|
+
>
|
|
109
104
|
>;
|
|
110
105
|
|
|
111
106
|
export type PendingAuthenticationMapping<
|
|
@@ -113,15 +108,16 @@ export type PendingAuthenticationMapping<
|
|
|
113
108
|
Subject extends Table,
|
|
114
109
|
Credential extends Table,
|
|
115
110
|
Pending extends Table,
|
|
116
|
-
Flow extends Table,
|
|
117
111
|
NativeSubjectId,
|
|
118
|
-
> =
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
112
|
+
> = ClockMapping<
|
|
113
|
+
Shared.PendingAuthenticationMapping<
|
|
114
|
+
Claims,
|
|
115
|
+
DrizzleTableModel<Subject>,
|
|
116
|
+
DrizzleTableModel<Credential>,
|
|
117
|
+
DrizzleTableModel<Pending>,
|
|
118
|
+
NativeSubjectId,
|
|
119
|
+
SQL
|
|
120
|
+
>
|
|
125
121
|
>;
|
|
126
122
|
|
|
127
123
|
export type SignedSessionValidityMapping<
|
|
@@ -129,87 +125,27 @@ export type SignedSessionValidityMapping<
|
|
|
129
125
|
Tombstone extends Table,
|
|
130
126
|
NativeSubjectId,
|
|
131
127
|
NativeSessionId,
|
|
132
|
-
> =
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
128
|
+
> = ClockMapping<
|
|
129
|
+
Shared.SignedSessionValidityMapping<
|
|
130
|
+
DrizzleTableModel<Subject>,
|
|
131
|
+
DrizzleTableModel<Tombstone>,
|
|
132
|
+
NativeSubjectId,
|
|
133
|
+
NativeSessionId,
|
|
134
|
+
SQL
|
|
135
|
+
>
|
|
137
136
|
>;
|
|
138
137
|
|
|
139
|
-
|
|
140
|
-
* `engineNow` must use the exact native representation of every mapped instant
|
|
141
|
-
* column. `engineNowMillis` is Unix epoch milliseconds for proof freshness.
|
|
142
|
-
* Changes to the consumer's factor policy MUST bump subject.securityRevision.
|
|
143
|
-
* Supply the authoritative primary D1 database, never a replica-affined
|
|
144
|
-
* `withSession` handle, because verification and security revision reads must
|
|
145
|
-
* observe completed revocation writes across clients.
|
|
146
|
-
*/
|
|
147
|
-
export type D1SessionClockMapping = Shared.D1SessionClockMapping<SQL>;
|
|
148
|
-
|
|
149
|
-
export type D1AuthenticationAuthorityMapping<
|
|
150
|
-
Claims,
|
|
151
|
-
Subject extends Table,
|
|
152
|
-
Credential extends Table,
|
|
153
|
-
Flow extends Table,
|
|
138
|
+
export type SessionCleanupMapping<
|
|
154
139
|
Pending extends Table,
|
|
155
|
-
NativeSubjectId,
|
|
156
|
-
> = Shared.D1AuthenticationAuthorityMapping<
|
|
157
|
-
Claims,
|
|
158
|
-
DrizzleTableModel<Subject>,
|
|
159
|
-
DrizzleTableModel<Credential>,
|
|
160
|
-
DrizzleTableModel<Flow>,
|
|
161
|
-
DrizzleTableModel<Pending>,
|
|
162
|
-
NativeSubjectId,
|
|
163
|
-
SQL
|
|
164
|
-
>;
|
|
165
|
-
|
|
166
|
-
export type D1PendingAuthenticationMapping<
|
|
167
|
-
Claims,
|
|
168
|
-
Subject extends Table,
|
|
169
|
-
Credential extends Table,
|
|
170
|
-
Pending extends Table,
|
|
171
|
-
Flow extends Table,
|
|
172
|
-
NativeSubjectId,
|
|
173
|
-
> = Shared.D1PendingAuthenticationMapping<
|
|
174
|
-
Claims,
|
|
175
|
-
DrizzleTableModel<Subject>,
|
|
176
|
-
DrizzleTableModel<Credential>,
|
|
177
|
-
DrizzleTableModel<Pending>,
|
|
178
|
-
DrizzleTableModel<Flow>,
|
|
179
|
-
NativeSubjectId,
|
|
180
|
-
SQL
|
|
181
|
-
>;
|
|
182
|
-
|
|
183
|
-
export type D1StatefulSessionMapping<
|
|
184
|
-
Claims,
|
|
185
|
-
Subject extends Table,
|
|
186
|
-
Credential extends Table,
|
|
187
|
-
Session extends Table,
|
|
188
|
-
Flow extends Table,
|
|
189
|
-
Pending extends Table,
|
|
190
|
-
NativeSubjectId,
|
|
191
|
-
NativeSessionId,
|
|
192
|
-
> = Shared.D1StatefulSessionMapping<
|
|
193
|
-
Claims,
|
|
194
|
-
DrizzleTableModel<Subject>,
|
|
195
|
-
DrizzleTableModel<Credential>,
|
|
196
|
-
DrizzleTableModel<Session>,
|
|
197
|
-
DrizzleTableModel<Flow>,
|
|
198
|
-
DrizzleTableModel<Pending>,
|
|
199
|
-
NativeSubjectId,
|
|
200
|
-
NativeSessionId,
|
|
201
|
-
SQL
|
|
202
|
-
>;
|
|
203
|
-
|
|
204
|
-
export type D1SignedSessionValidityMapping<
|
|
205
|
-
Subject extends Table,
|
|
206
140
|
Tombstone extends Table,
|
|
207
141
|
NativeSubjectId,
|
|
208
142
|
NativeSessionId,
|
|
209
|
-
> =
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
143
|
+
> = ClockMapping<
|
|
144
|
+
Shared.SessionCleanupMapping<
|
|
145
|
+
DrizzleTableModel<Pending>,
|
|
146
|
+
DrizzleTableModel<Tombstone>,
|
|
147
|
+
NativeSubjectId,
|
|
148
|
+
NativeSessionId,
|
|
149
|
+
SQL
|
|
150
|
+
>
|
|
215
151
|
>;
|
|
@@ -41,6 +41,14 @@ export type Transaction<T extends AnyRelations = AnyRelations> = DatabaseValue<T
|
|
|
41
41
|
readonly rollback: () => EffectTransactionRollbackError;
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
+
/** Construct a query handle inside an existing asynchronous SQL owner. */
|
|
45
|
+
export const makeTransactionHandle = <T extends AnyRelations>(
|
|
46
|
+
database: DatabaseValue<T>,
|
|
47
|
+
): Transaction<T> => ({
|
|
48
|
+
...database,
|
|
49
|
+
rollback: () => new EffectTransactionRollbackError(),
|
|
50
|
+
});
|
|
51
|
+
|
|
44
52
|
/**
|
|
45
53
|
* Keep the application's Drizzle query configuration and capture its SQL client.
|
|
46
54
|
* Effect SQL owns storage.transaction, so cryptography may suspend before commit.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { withStorageValidation
|
|
1
|
+
import { withStorageValidation } from "@yielded/auth-persistence/Adapter";
|
|
2
2
|
import {
|
|
3
3
|
ExternalIdentityMutation,
|
|
4
4
|
type ExternalIdentity,
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
type IdentityTables,
|
|
27
27
|
type SubjectProvisioningTables,
|
|
28
28
|
} from "./model";
|
|
29
|
+
import { NativeDatabase } from "./native-database";
|
|
29
30
|
import { validateDrizzleStorage } from "./storage-validation";
|
|
30
31
|
|
|
31
32
|
type ClosedQueryEffectHKT = QueryEffectHKTBase & { readonly context: never };
|
|
@@ -75,12 +76,6 @@ export const makeSqliteSubjectProvisioningServices = Effect.fnUntraced(function*
|
|
|
75
76
|
|
|
76
77
|
const identifierTable = mapping.identifier.table;
|
|
77
78
|
|
|
78
|
-
const identifierNamespaceColumn = column(
|
|
79
|
-
identifierTable,
|
|
80
|
-
mapping.identifier.namespace,
|
|
81
|
-
) as SQLiteColumn;
|
|
82
|
-
|
|
83
|
-
const identifierValueColumn = column(identifierTable, mapping.identifier.value) as SQLiteColumn;
|
|
84
79
|
const subjectIdColumn = column(mapping.subject.table, mapping.subject.id) as SQLiteColumn;
|
|
85
80
|
|
|
86
81
|
const findReceipt = Effect.fn("DrizzleSqliteIdentity.findReceipt")(function* (requestId: string) {
|
|
@@ -167,21 +162,8 @@ export const makeSqliteSubjectProvisioningServices = Effect.fnUntraced(function*
|
|
|
167
162
|
Effect.flatMap((receipt) => {
|
|
168
163
|
if (receipt !== undefined && receipt.fingerprint === fingerprint)
|
|
169
164
|
return Effect.succeed(receipt.subjectId as NativeId);
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
return db
|
|
173
|
-
.select({
|
|
174
|
-
subjectId: column(identifierTable, mapping.identifier.subjectId) as SQLiteColumn,
|
|
175
|
-
})
|
|
176
|
-
.from(identifierTable as any)
|
|
177
|
-
.where(
|
|
178
|
-
and(
|
|
179
|
-
eq(identifierNamespaceColumn, input.identifier.namespace),
|
|
180
|
-
eq(identifierValueColumn, input.identifier.value),
|
|
181
|
-
),
|
|
182
|
-
)
|
|
183
|
-
.limit(1)
|
|
184
|
-
.pipe(Effect.flatMap(() => IdentityConflict.make()));
|
|
165
|
+
|
|
166
|
+
return IdentityConflict.make();
|
|
185
167
|
}),
|
|
186
168
|
);
|
|
187
169
|
},
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type * as Shared from "@yielded/auth-persistence/Adapter";
|
|
2
2
|
import type { SQL, Table } from "drizzle-orm";
|
|
3
3
|
|
|
4
|
+
import type { ClockMapping } from "./native-clock";
|
|
4
5
|
import type { DrizzleTableModel } from "./table-model";
|
|
5
6
|
|
|
6
7
|
export {
|
|
@@ -8,13 +9,6 @@ export {
|
|
|
8
9
|
requiredSessionStepUpConstraints,
|
|
9
10
|
} from "@yielded/auth-persistence/Adapter";
|
|
10
11
|
|
|
11
|
-
/** Distinct from login-pending storage. Snapshot is TEXT encoded by the core's
|
|
12
|
-
* SessionStepUpIntent schema; it contains no Claims and needs no consumer decoder. */
|
|
13
|
-
export type SessionStepUpIntentTables<
|
|
14
|
-
Intent extends Table,
|
|
15
|
-
NativeSubjectId,
|
|
16
|
-
> = Shared.SessionStepUpIntentTables<DrizzleTableModel<Intent>, NativeSubjectId>;
|
|
17
|
-
|
|
18
12
|
/** Fixed source discriminator is checked against every stored intent. A minimal
|
|
19
13
|
* pure-signed installation does not provide dummy session or tombstone tables. */
|
|
20
14
|
export type SessionStepUpSourceTables<
|
|
@@ -40,34 +34,16 @@ export type SessionStepUpMapping<
|
|
|
40
34
|
Tombstone extends Table,
|
|
41
35
|
NativeSubjectId,
|
|
42
36
|
NativeSessionId,
|
|
43
|
-
> =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
Claims,
|
|
56
|
-
Subject extends Table,
|
|
57
|
-
Credential extends Table,
|
|
58
|
-
Intent extends Table,
|
|
59
|
-
Session extends Table,
|
|
60
|
-
Tombstone extends Table,
|
|
61
|
-
NativeSubjectId,
|
|
62
|
-
NativeSessionId,
|
|
63
|
-
> = Shared.D1SessionStepUpMapping<
|
|
64
|
-
Claims,
|
|
65
|
-
DrizzleTableModel<Subject>,
|
|
66
|
-
DrizzleTableModel<Credential>,
|
|
67
|
-
DrizzleTableModel<Intent>,
|
|
68
|
-
DrizzleTableModel<Session>,
|
|
69
|
-
DrizzleTableModel<Tombstone>,
|
|
70
|
-
NativeSubjectId,
|
|
71
|
-
NativeSessionId,
|
|
72
|
-
SQL
|
|
37
|
+
> = ClockMapping<
|
|
38
|
+
Shared.SessionStepUpMapping<
|
|
39
|
+
Claims,
|
|
40
|
+
DrizzleTableModel<Subject>,
|
|
41
|
+
DrizzleTableModel<Credential>,
|
|
42
|
+
DrizzleTableModel<Intent>,
|
|
43
|
+
DrizzleTableModel<Session>,
|
|
44
|
+
DrizzleTableModel<Tombstone>,
|
|
45
|
+
NativeSubjectId,
|
|
46
|
+
NativeSessionId,
|
|
47
|
+
SQL
|
|
48
|
+
>
|
|
73
49
|
>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
NativeDatabase,
|
|
3
2
|
PersistenceMappingError,
|
|
4
3
|
validateStorageBatch,
|
|
5
4
|
type StorageValidation,
|
|
@@ -11,6 +10,8 @@ import { getTableConfig as getPgTableConfig, PgTable } from "drizzle-orm/pg-core
|
|
|
11
10
|
import { Effect } from "effect";
|
|
12
11
|
import { SqlClient } from "effect/sql/SqlClient";
|
|
13
12
|
|
|
13
|
+
import { NativeDatabase } from "./native-database";
|
|
14
|
+
|
|
14
15
|
/** Validate at acquisition using the root database supplied by the adapter. */
|
|
15
16
|
export const validateDrizzleStorage = Effect.fnUntraced(
|
|
16
17
|
function* (mapping: unknown) {
|
|
@@ -1,83 +1,26 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
PendingAuthenticationContext,
|
|
5
|
-
} from "@yielded/auth/Sessions";
|
|
6
|
-
import { type TotpPolicy, TotpPersistence } from "@yielded/auth/Totp";
|
|
7
|
-
import type { InferInsertModel, InferSelectModel, SQL, Table } from "drizzle-orm";
|
|
1
|
+
import type * as Shared from "@yielded/auth-persistence/Adapter";
|
|
2
|
+
import { TotpPersistence } from "@yielded/auth/Totp";
|
|
3
|
+
import type { SQL, Table } from "drizzle-orm";
|
|
8
4
|
import { Effect, Layer } from "effect";
|
|
9
5
|
|
|
10
|
-
import type {
|
|
11
|
-
export
|
|
12
|
-
export type
|
|
6
|
+
import type { DrizzleTableModel } from "./table-model";
|
|
7
|
+
export { requiredTotpConstraints, type TotpMappingSource } from "@yielded/auth-persistence/Adapter";
|
|
8
|
+
export type TotpColumn<T extends Table> = DrizzleTableModel<T>["column"];
|
|
13
9
|
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
readonly moduleId: string;
|
|
29
|
-
readonly policy: TotpPolicy;
|
|
30
|
-
readonly constraints: typeof requiredTotpConstraints;
|
|
31
|
-
readonly subjectIds: {
|
|
32
|
-
readonly toNative: (id: SubjectId) => N;
|
|
33
|
-
readonly toSubject: (id: N) => SubjectId;
|
|
34
|
-
};
|
|
35
|
-
readonly subject: {
|
|
36
|
-
readonly table: S;
|
|
37
|
-
readonly id: TotpColumn<S>;
|
|
38
|
-
readonly securityRevision: TotpColumn<S>;
|
|
39
|
-
readonly factorEnabled: TotpColumn<S>;
|
|
40
|
-
readonly activeCondition: SQL;
|
|
41
|
-
readonly encodeEnabled: (enabled: boolean) => unknown;
|
|
42
|
-
readonly decodeRequirement: (row: InferSelectModel<S>) => AuthenticationRequirement;
|
|
43
|
-
};
|
|
44
|
-
readonly factor: {
|
|
45
|
-
readonly table: F;
|
|
46
|
-
readonly scope: TotpColumn<F>;
|
|
47
|
-
readonly state: TotpColumn<F>;
|
|
48
|
-
readonly version: TotpColumn<F>;
|
|
49
|
-
readonly encodeInsert: (value: {
|
|
50
|
-
readonly scope: string;
|
|
51
|
-
readonly state: string;
|
|
52
|
-
readonly version: string;
|
|
53
|
-
}) => InferInsertModel<F>;
|
|
54
|
-
};
|
|
55
|
-
readonly credential: {
|
|
56
|
-
readonly table: C;
|
|
57
|
-
readonly id: TotpColumn<C>;
|
|
58
|
-
readonly subjectId: TotpColumn<C>;
|
|
59
|
-
readonly revision: TotpColumn<C>;
|
|
60
|
-
readonly status: TotpColumn<C>;
|
|
61
|
-
readonly activeCondition: SQL;
|
|
62
|
-
readonly encodeStatus: (active: boolean) => unknown;
|
|
63
|
-
readonly encodeInsert: (value: {
|
|
64
|
-
readonly credentialId: string;
|
|
65
|
-
readonly subjectId: N;
|
|
66
|
-
readonly revision: string;
|
|
67
|
-
readonly active: boolean;
|
|
68
|
-
}) => InferInsertModel<C>;
|
|
69
|
-
};
|
|
70
|
-
/** Unix epoch milliseconds, evaluated again at the final conditional write. */
|
|
71
|
-
readonly engineNowMillis: SQL;
|
|
72
|
-
/** Required for reset-with-recovery-code. Must assert the exact unconsumed,
|
|
73
|
-
* unexpired, unexhausted pending flow, binding digest and original credential
|
|
74
|
-
* revisions. No request-supplied SQL or external I/O is accepted. */
|
|
75
|
-
readonly pendingCondition?: (target: PendingAuthenticationContext, subjectId: N) => SQL;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export interface D1TotpMapping {
|
|
79
|
-
readonly d1: { readonly primary: true };
|
|
80
|
-
}
|
|
10
|
+
export type TotpMapping<
|
|
11
|
+
S extends Table,
|
|
12
|
+
F extends Table,
|
|
13
|
+
C extends Table,
|
|
14
|
+
N,
|
|
15
|
+
P extends Table = Table,
|
|
16
|
+
> = Shared.TotpMapping<
|
|
17
|
+
DrizzleTableModel<S>,
|
|
18
|
+
DrizzleTableModel<F>,
|
|
19
|
+
DrizzleTableModel<C>,
|
|
20
|
+
N,
|
|
21
|
+
DrizzleTableModel<P>,
|
|
22
|
+
SQL
|
|
23
|
+
>;
|
|
81
24
|
|
|
82
25
|
export interface TotpPersistenceServices {
|
|
83
26
|
readonly totpPersistence: TotpPersistence["Service"];
|