@lenne.tech/nest-server 12.0.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/architecture.md +6 -1
- package/.claude/rules/better-auth.md +46 -0
- package/.claude/rules/configurable-features.md +3 -2
- package/.claude/rules/package-management.md +24 -2
- package/.claude/rules/persistence.md +100 -0
- package/.claude/rules/role-system.md +9 -0
- package/.claude/rules/testing.md +116 -18
- package/CLAUDE.md +21 -2
- package/FRAMEWORK-API.md +6 -4
- package/README.md +106 -34
- package/dist/core/common/decorators/unified-field.decorator.d.ts +2 -1
- package/dist/core/common/decorators/unified-field.decorator.js +4 -1
- package/dist/core/common/decorators/unified-field.decorator.js.map +1 -1
- package/dist/core/common/filters/mongoose-cast-error.filter.d.ts +7 -5
- package/dist/core/common/filters/mongoose-cast-error.filter.js +3 -2
- package/dist/core/common/filters/mongoose-cast-error.filter.js.map +1 -1
- package/dist/core/common/helpers/db.helper.d.ts +2 -1
- package/dist/core/common/helpers/db.helper.js +32 -26
- package/dist/core/common/helpers/db.helper.js.map +1 -1
- package/dist/core/common/helpers/decorator.helper.d.ts +1 -1
- package/dist/core/common/helpers/filter.helper.d.ts +2 -1
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/gridfs.helper.d.ts +4 -4
- package/dist/core/common/helpers/gridfs.helper.js +14 -6
- package/dist/core/common/helpers/gridfs.helper.js.map +1 -1
- package/dist/core/common/helpers/id.helper.d.ts +4 -1
- package/dist/core/common/helpers/id.helper.js +10 -4
- package/dist/core/common/helpers/id.helper.js.map +1 -1
- package/dist/core/common/helpers/model.helper.js +5 -5
- package/dist/core/common/helpers/model.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.js +3 -3
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +18 -2
- package/dist/core/common/interfaces/service-options.interface.d.ts +2 -2
- package/dist/core/common/models/core-persistence.model.d.ts +1 -2
- package/dist/core/common/models/core-persistence.model.js +3 -3
- package/dist/core/common/models/core-persistence.model.js.map +1 -1
- package/dist/core/common/persistence/core-persistence.lifecycle.d.ts +9 -0
- package/dist/core/common/persistence/core-persistence.lifecycle.js +38 -0
- package/dist/core/common/persistence/core-persistence.lifecycle.js.map +1 -0
- package/dist/core/common/persistence/core-persistence.module.d.ts +9 -0
- package/dist/core/common/persistence/core-persistence.module.js +76 -0
- package/dist/core/common/persistence/core-persistence.module.js.map +1 -0
- package/dist/core/common/persistence/data-source.config.d.ts +33 -0
- package/dist/core/common/persistence/data-source.config.js +151 -0
- package/dist/core/common/persistence/data-source.config.js.map +1 -0
- package/dist/core/common/persistence/data-source.runtime.d.ts +45 -0
- package/dist/core/common/persistence/data-source.runtime.js +278 -0
- package/dist/core/common/persistence/data-source.runtime.js.map +1 -0
- package/dist/core/common/persistence/data-store.interface.d.ts +73 -0
- package/dist/core/common/persistence/data-store.interface.js +2 -0
- package/dist/core/common/persistence/data-store.interface.js.map +1 -0
- package/dist/core/common/persistence/expiry-sweep.d.ts +12 -0
- package/dist/core/common/persistence/expiry-sweep.js +55 -0
- package/dist/core/common/persistence/expiry-sweep.js.map +1 -0
- package/dist/core/common/persistence/id-format.d.ts +3 -0
- package/dist/core/common/persistence/id-format.js +21 -0
- package/dist/core/common/persistence/id-format.js.map +1 -0
- package/dist/core/common/persistence/infrastructure-locks.d.ts +13 -0
- package/dist/core/common/persistence/infrastructure-locks.js +35 -0
- package/dist/core/common/persistence/infrastructure-locks.js.map +1 -0
- package/dist/core/common/persistence/inject-store.decorator.d.ts +1 -0
- package/dist/core/common/persistence/inject-store.decorator.js +6 -0
- package/dist/core/common/persistence/inject-store.decorator.js.map +1 -0
- package/dist/core/common/persistence/lock-store.interface.d.ts +5 -0
- package/dist/core/common/persistence/lock-store.interface.js +2 -0
- package/dist/core/common/persistence/lock-store.interface.js.map +1 -0
- package/dist/core/common/persistence/model-descriptor.interface.d.ts +36 -0
- package/dist/core/common/persistence/model-descriptor.interface.js +2 -0
- package/dist/core/common/persistence/model-descriptor.interface.js.map +1 -0
- package/dist/core/common/persistence/model-metadata.registry.d.ts +14 -0
- package/dist/core/common/persistence/model-metadata.registry.js +194 -0
- package/dist/core/common/persistence/model-metadata.registry.js.map +1 -0
- package/dist/core/common/persistence/mongo/collection-name.d.ts +2 -0
- package/dist/core/common/persistence/mongo/collection-name.js +73 -0
- package/dist/core/common/persistence/mongo/collection-name.js.map +1 -0
- package/dist/core/common/persistence/mongo/declared-schema.view.d.ts +11 -0
- package/dist/core/common/persistence/mongo/declared-schema.view.js +292 -0
- package/dist/core/common/persistence/mongo/declared-schema.view.js.map +1 -0
- package/dist/core/common/persistence/mongo/hex-object-id.d.ts +13 -0
- package/dist/core/common/persistence/mongo/hex-object-id.js +54 -0
- package/dist/core/common/persistence/mongo/hex-object-id.js.map +1 -0
- package/dist/core/common/persistence/mongo/model-declarations.d.ts +35 -0
- package/dist/core/common/persistence/mongo/model-declarations.js +80 -0
- package/dist/core/common/persistence/mongo/model-declarations.js.map +1 -0
- package/dist/core/common/persistence/mongo/mongo-packages.d.ts +15 -0
- package/dist/core/common/persistence/mongo/mongo-packages.js +66 -0
- package/dist/core/common/persistence/mongo/mongo-packages.js.map +1 -0
- package/dist/core/common/persistence/mongo/mongoose-compat.d.ts +22 -0
- package/dist/core/common/persistence/mongo/mongoose-compat.js +65 -0
- package/dist/core/common/persistence/mongo/mongoose-compat.js.map +1 -0
- package/dist/core/common/persistence/mongo/no-mongo-connection.module.d.ts +2 -0
- package/dist/core/common/persistence/mongo/no-mongo-connection.module.js +19 -0
- package/dist/core/common/persistence/mongo/no-mongo-connection.module.js.map +1 -0
- package/dist/core/common/persistence/mongo-lock-store.d.ts +21 -0
- package/dist/core/common/persistence/mongo-lock-store.js +72 -0
- package/dist/core/common/persistence/mongo-lock-store.js.map +1 -0
- package/dist/core/common/persistence/mongoose-data-store.d.ts +33 -0
- package/dist/core/common/persistence/mongoose-data-store.js +187 -0
- package/dist/core/common/persistence/mongoose-data-store.js.map +1 -0
- package/dist/core/common/persistence/neutral-populate.d.ts +6 -0
- package/dist/core/common/persistence/neutral-populate.js +72 -0
- package/dist/core/common/persistence/neutral-populate.js.map +1 -0
- package/dist/core/common/persistence/persisted-model.decorator.d.ts +6 -0
- package/dist/core/common/persistence/persisted-model.decorator.js +24 -0
- package/dist/core/common/persistence/persisted-model.decorator.js.map +1 -0
- package/dist/core/common/persistence/persistence-runtime.registry.d.ts +61 -0
- package/dist/core/common/persistence/persistence-runtime.registry.js +47 -0
- package/dist/core/common/persistence/persistence-runtime.registry.js.map +1 -0
- package/dist/core/common/persistence/persistence.tokens.d.ts +1 -0
- package/dist/core/common/persistence/persistence.tokens.js +4 -0
- package/dist/core/common/persistence/persistence.tokens.js.map +1 -0
- package/dist/core/common/persistence/policies/audit.policy.d.ts +8 -0
- package/dist/core/common/persistence/policies/audit.policy.js +37 -0
- package/dist/core/common/persistence/policies/audit.policy.js.map +1 -0
- package/dist/core/common/persistence/policies/password.policy.d.ts +3 -0
- package/dist/core/common/persistence/policies/password.policy.js +46 -0
- package/dist/core/common/persistence/policies/password.policy.js.map +1 -0
- package/dist/core/common/persistence/policies/role-guard.policy.d.ts +3 -0
- package/dist/core/common/persistence/policies/role-guard.policy.js +46 -0
- package/dist/core/common/persistence/policies/role-guard.policy.js.map +1 -0
- package/dist/core/common/persistence/policies/system-role.policy.d.ts +5 -0
- package/dist/core/common/persistence/policies/system-role.policy.js +46 -0
- package/dist/core/common/persistence/policies/system-role.policy.js.map +1 -0
- package/dist/core/common/persistence/policies/tenant.policy.d.ts +19 -0
- package/dist/core/common/persistence/policies/tenant.policy.js +120 -0
- package/dist/core/common/persistence/policies/tenant.policy.js.map +1 -0
- package/dist/core/common/persistence/routed-model.guard.d.ts +4 -0
- package/dist/core/common/persistence/routed-model.guard.js +73 -0
- package/dist/core/common/persistence/routed-model.guard.js.map +1 -0
- package/dist/core/common/persistence/sql/mysql/mysql-data-store.d.ts +46 -0
- package/dist/core/common/persistence/sql/mysql/mysql-data-store.js +350 -0
- package/dist/core/common/persistence/sql/mysql/mysql-data-store.js.map +1 -0
- package/dist/core/common/persistence/sql/mysql/mysql-executor.d.ts +13 -0
- package/dist/core/common/persistence/sql/mysql/mysql-executor.js +194 -0
- package/dist/core/common/persistence/sql/mysql/mysql-executor.js.map +1 -0
- package/dist/core/common/persistence/sql/mysql/mysql-lock-store.d.ts +11 -0
- package/dist/core/common/persistence/sql/mysql/mysql-lock-store.js +55 -0
- package/dist/core/common/persistence/sql/mysql/mysql-lock-store.js.map +1 -0
- package/dist/core/common/persistence/sql/mysql/mysql-schema.compiler.d.ts +36 -0
- package/dist/core/common/persistence/sql/mysql/mysql-schema.compiler.js +288 -0
- package/dist/core/common/persistence/sql/mysql/mysql-schema.compiler.js.map +1 -0
- package/dist/core/common/persistence/sql/mysql/mysql-schema.migrator.d.ts +19 -0
- package/dist/core/common/persistence/sql/mysql/mysql-schema.migrator.js +328 -0
- package/dist/core/common/persistence/sql/mysql/mysql-schema.migrator.js.map +1 -0
- package/dist/core/common/persistence/sql/mysql/mysql-session.d.ts +13 -0
- package/dist/core/common/persistence/sql/mysql/mysql-session.js +85 -0
- package/dist/core/common/persistence/sql/mysql/mysql-session.js.map +1 -0
- package/dist/core/common/persistence/sql/mysql/mysql-update.compiler.d.ts +9 -0
- package/dist/core/common/persistence/sql/mysql/mysql-update.compiler.js +264 -0
- package/dist/core/common/persistence/sql/mysql/mysql-update.compiler.js.map +1 -0
- package/dist/core/common/persistence/sql/mysql/mysql-where.compiler.d.ts +20 -0
- package/dist/core/common/persistence/sql/mysql/mysql-where.compiler.js +519 -0
- package/dist/core/common/persistence/sql/mysql/mysql-where.compiler.js.map +1 -0
- package/dist/core/common/persistence/sql/postgres/postgres-lock-store.d.ts +11 -0
- package/dist/core/common/persistence/sql/postgres/postgres-lock-store.js +44 -0
- package/dist/core/common/persistence/sql/postgres/postgres-lock-store.js.map +1 -0
- package/dist/core/common/persistence/sql/postgres/postgres-schema.compiler.d.ts +42 -0
- package/dist/core/common/persistence/sql/postgres/postgres-schema.compiler.js +220 -0
- package/dist/core/common/persistence/sql/postgres/postgres-schema.compiler.js.map +1 -0
- package/dist/core/common/persistence/sql/postgres/postgres-schema.migrator.d.ts +12 -0
- package/dist/core/common/persistence/sql/postgres/postgres-schema.migrator.js +315 -0
- package/dist/core/common/persistence/sql/postgres/postgres-schema.migrator.js.map +1 -0
- package/dist/core/common/persistence/sql/postgres/postgres-update.compiler.d.ts +5 -0
- package/dist/core/common/persistence/sql/postgres/postgres-update.compiler.js +225 -0
- package/dist/core/common/persistence/sql/postgres/postgres-update.compiler.js.map +1 -0
- package/dist/core/common/persistence/sql/postgres/postgres-where.compiler.d.ts +13 -0
- package/dist/core/common/persistence/sql/postgres/postgres-where.compiler.js +484 -0
- package/dist/core/common/persistence/sql/postgres/postgres-where.compiler.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-cast.d.ts +2 -0
- package/dist/core/common/persistence/sql/sql-cast.js +194 -0
- package/dist/core/common/persistence/sql/sql-cast.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-data-store.d.ts +79 -0
- package/dist/core/common/persistence/sql/sql-data-store.js +592 -0
- package/dist/core/common/persistence/sql/sql-data-store.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-dialect.d.ts +20 -0
- package/dist/core/common/persistence/sql/sql-dialect.js +38 -0
- package/dist/core/common/persistence/sql/sql-dialect.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-errors.d.ts +17 -0
- package/dist/core/common/persistence/sql/sql-errors.js +25 -0
- package/dist/core/common/persistence/sql/sql-errors.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-executor.factory.d.ts +11 -0
- package/dist/core/common/persistence/sql/sql-executor.factory.js +199 -0
- package/dist/core/common/persistence/sql/sql-executor.factory.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-executor.interface.d.ts +32 -0
- package/dist/core/common/persistence/sql/sql-executor.interface.js +2 -0
- package/dist/core/common/persistence/sql/sql-executor.interface.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-naming.d.ts +15 -0
- package/dist/core/common/persistence/sql/sql-naming.js +90 -0
- package/dist/core/common/persistence/sql/sql-naming.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-schema.shared.d.ts +25 -0
- package/dist/core/common/persistence/sql/sql-schema.shared.js +69 -0
- package/dist/core/common/persistence/sql/sql-schema.shared.js.map +1 -0
- package/dist/core/common/persistence/sql/sql-session.d.ts +6 -0
- package/dist/core/common/persistence/sql/sql-session.js +78 -0
- package/dist/core/common/persistence/sql/sql-session.js.map +1 -0
- package/dist/core/common/persistence/sql/where-shared.d.ts +18 -0
- package/dist/core/common/persistence/sql/where-shared.js +93 -0
- package/dist/core/common/persistence/sql/where-shared.js.map +1 -0
- package/dist/core/common/persistence/store-guards.d.ts +10 -0
- package/dist/core/common/persistence/store-guards.js +49 -0
- package/dist/core/common/persistence/store-guards.js.map +1 -0
- package/dist/core/common/persistence/store-upsert.d.ts +2 -0
- package/dist/core/common/persistence/store-upsert.js +20 -0
- package/dist/core/common/persistence/store-upsert.js.map +1 -0
- package/dist/core/common/persistence/unavailable-store.d.ts +2 -0
- package/dist/core/common/persistence/unavailable-store.js +53 -0
- package/dist/core/common/persistence/unavailable-store.js.map +1 -0
- package/dist/core/common/persistence/unsupported-capability.error.d.ts +3 -0
- package/dist/core/common/persistence/unsupported-capability.error.js +4 -0
- package/dist/core/common/persistence/unsupported-capability.error.js.map +1 -0
- package/dist/core/common/plugins/mongoose-audit-fields.plugin.js +24 -68
- package/dist/core/common/plugins/mongoose-audit-fields.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-id.plugin.js +3 -0
- package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-password.plugin.d.ts +1 -3
- package/dist/core/common/plugins/mongoose-password.plugin.js +2 -45
- package/dist/core/common/plugins/mongoose-password.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-role-guard.plugin.js +5 -46
- package/dist/core/common/plugins/mongoose-role-guard.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-system-role.plugin.js +2 -43
- package/dist/core/common/plugins/mongoose-system-role.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-tenant.plugin.js +10 -70
- package/dist/core/common/plugins/mongoose-tenant.plugin.js.map +1 -1
- package/dist/core/common/scalars/upload.scalar.js +1 -1
- package/dist/core/common/scalars/upload.scalar.js.map +1 -1
- package/dist/core/common/services/core-cron-jobs.initializer.js +1 -1
- package/dist/core/common/services/core-cron-jobs.initializer.js.map +1 -1
- package/dist/core/common/services/core-cron-jobs.service.d.ts +1 -0
- package/dist/core/common/services/core-cron-jobs.service.js +23 -14
- package/dist/core/common/services/core-cron-jobs.service.js.map +1 -1
- package/dist/core/common/services/crud.service.d.ts +4 -1
- package/dist/core/common/services/crud.service.js +132 -23
- package/dist/core/common/services/crud.service.js.map +1 -1
- package/dist/core/common/services/model-doc.service.js +1 -1
- package/dist/core/common/services/model-doc.service.js.map +1 -1
- package/dist/core/common/services/module.service.d.ts +9 -2
- package/dist/core/common/services/module.service.js +51 -6
- package/dist/core/common/services/module.service.js.map +1 -1
- package/dist/core/common/types/field-selection.type.d.ts +1 -1
- package/dist/core/common/types/id.type.d.ts +4 -4
- package/dist/core/common/types/object-id-like.type.d.ts +3 -0
- package/dist/core/common/types/object-id-like.type.js +2 -0
- package/dist/core/common/types/object-id-like.type.js.map +1 -0
- package/dist/core/common/types/populate-config.type.d.ts +1 -1
- package/dist/core/common/types/string-or-object-id.type.d.ts +2 -2
- package/dist/core/modules/ai/core-ai.constants.d.ts +4 -0
- package/dist/core/modules/ai/core-ai.constants.js +4 -0
- package/dist/core/modules/ai/core-ai.constants.js.map +1 -1
- package/dist/core/modules/ai/core-ai.module.js +21 -17
- package/dist/core/modules/ai/core-ai.module.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-budget-limit.model.d.ts +2 -92
- package/dist/core/modules/ai/models/core-ai-budget-limit.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-budget-limit.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-connection-preference.model.d.ts +2 -87
- package/dist/core/modules/ai/models/core-ai-connection-preference.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-connection-preference.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-connection.model.d.ts +2 -177
- package/dist/core/modules/ai/models/core-ai-connection.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-connection.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-conversation.model.d.ts +2 -92
- package/dist/core/modules/ai/models/core-ai-conversation.model.js +3 -4
- package/dist/core/modules/ai/models/core-ai-conversation.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-interaction.model.d.ts +2 -120
- package/dist/core/modules/ai/models/core-ai-interaction.model.js +2 -3
- package/dist/core/modules/ai/models/core-ai-interaction.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-mcp-oauth.models.d.ts +3 -0
- package/dist/core/modules/ai/models/core-ai-mcp-oauth.models.js +21 -0
- package/dist/core/modules/ai/models/core-ai-mcp-oauth.models.js.map +1 -0
- package/dist/core/modules/ai/models/core-ai-mode.model.d.ts +2 -102
- package/dist/core/modules/ai/models/core-ai-mode.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-mode.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-prompt-hint.model.d.ts +2 -97
- package/dist/core/modules/ai/models/core-ai-prompt-hint.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-prompt-hint.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-prompt.model.d.ts +2 -112
- package/dist/core/modules/ai/models/core-ai-prompt.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-prompt.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-slot.model.d.ts +2 -112
- package/dist/core/modules/ai/models/core-ai-slot.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-slot.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-tool-grant.model.d.ts +2 -97
- package/dist/core/modules/ai/models/core-ai-tool-grant.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-tool-grant.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-tool-policy.model.d.ts +2 -103
- package/dist/core/modules/ai/models/core-ai-tool-policy.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-tool-policy.model.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-budget.service.d.ts +3 -1
- package/dist/core/modules/ai/services/core-ai-budget.service.js +15 -5
- package/dist/core/modules/ai/services/core-ai-budget.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-connection-preference.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-connection-preference.service.js +6 -10
- package/dist/core/modules/ai/services/core-ai-connection-preference.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-connection.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-connection.service.js +20 -42
- package/dist/core/modules/ai/services/core-ai-connection.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-conversation.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-conversation.service.js +28 -29
- package/dist/core/modules/ai/services/core-ai-conversation.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-interaction.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-interaction.service.js +3 -4
- package/dist/core/modules/ai/services/core-ai-interaction.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.d.ts +8 -0
- package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.js +70 -18
- package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-mode.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-mode.service.js +3 -7
- package/dist/core/modules/ai/services/core-ai-mode.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-prompt-hint.service.d.ts +8 -1
- package/dist/core/modules/ai/services/core-ai-prompt-hint.service.js +32 -26
- package/dist/core/modules/ai/services/core-ai-prompt-hint.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-prompt.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-prompt.service.js +10 -13
- package/dist/core/modules/ai/services/core-ai-prompt.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-slot.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-slot.service.js +14 -25
- package/dist/core/modules/ai/services/core-ai-slot.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-tool-grant.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-tool-grant.service.js +6 -18
- package/dist/core/modules/ai/services/core-ai-tool-grant.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-tool-policy.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-tool-policy.service.js +4 -8
- package/dist/core/modules/ai/services/core-ai-tool-policy.service.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.model.js +1 -1
- package/dist/core/modules/api-token/core-api-token.model.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.module.js +3 -2
- package/dist/core/modules/api-token/core-api-token.module.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.service.d.ts +8 -2
- package/dist/core/modules/api-token/core-api-token.service.js +106 -39
- package/dist/core/modules/api-token/core-api-token.service.js.map +1 -1
- package/dist/core/modules/auth/core-auth.module.js +2 -0
- package/dist/core/modules/auth/core-auth.module.js.map +1 -1
- package/dist/core/modules/auth/guards/legacy-auth-rate-limit.guard.js +1 -2
- package/dist/core/modules/auth/guards/legacy-auth-rate-limit.guard.js.map +1 -1
- package/dist/core/modules/auth/guards/role-guard.token.d.ts +1 -0
- package/dist/core/modules/auth/guards/role-guard.token.js +2 -0
- package/dist/core/modules/auth/guards/role-guard.token.js.map +1 -0
- package/dist/core/modules/auth/services/core-auth.service.js +4 -2
- package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth-sql.helper.d.ts +6 -0
- package/dist/core/modules/better-auth/better-auth-sql.helper.js +113 -0
- package/dist/core/modules/better-auth/better-auth-sql.helper.js.map +1 -0
- package/dist/core/modules/better-auth/better-auth-token.service.d.ts +3 -1
- package/dist/core/modules/better-auth/better-auth-token.service.js +15 -24
- package/dist/core/modules/better-auth/better-auth-token.service.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.config.d.ts +7 -0
- package/dist/core/modules/better-auth/better-auth.config.js +16 -5
- package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.types.d.ts +1 -1
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.d.ts +1 -0
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.js +6 -1
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-challenge.service.js +30 -15
- package/dist/core/modules/better-auth/core-better-auth-challenge.service.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-mongo.users.d.ts +10 -0
- package/dist/core/modules/better-auth/core-better-auth-mongo.users.js +24 -0
- package/dist/core/modules/better-auth/core-better-auth-mongo.users.js.map +1 -0
- package/dist/core/modules/better-auth/core-better-auth-sql.registry.d.ts +3 -0
- package/dist/core/modules/better-auth/core-better-auth-sql.registry.js +8 -0
- package/dist/core/modules/better-auth/core-better-auth-sql.registry.js.map +1 -0
- package/dist/core/modules/better-auth/core-better-auth-sql.store.d.ts +71 -0
- package/dist/core/modules/better-auth/core-better-auth-sql.store.js +190 -0
- package/dist/core/modules/better-auth/core-better-auth-sql.store.js.map +1 -0
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.d.ts +24 -1
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.js +308 -32
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.module.d.ts +2 -0
- package/dist/core/modules/better-auth/core-better-auth.module.js +54 -32
- package/dist/core/modules/better-auth/core-better-auth.module.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.service.d.ts +7 -2
- package/dist/core/modules/better-auth/core-better-auth.service.js +61 -9
- package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -1
- package/dist/core/modules/file/core-file-info.model.d.ts +1 -2
- package/dist/core/modules/file/core-file-info.model.js +2 -2
- package/dist/core/modules/file/core-file-info.model.js.map +1 -1
- package/dist/core/modules/file/core-file.service.d.ts +5 -3
- package/dist/core/modules/file/core-file.service.js +16 -9
- package/dist/core/modules/file/core-file.service.js.map +1 -1
- package/dist/core/modules/file/file-metadata.helper.d.ts +1 -1
- package/dist/core/modules/file/file-metadata.helper.js +2 -2
- package/dist/core/modules/file/file-metadata.helper.js.map +1 -1
- package/dist/core/modules/file/file-metadata.models.d.ts +35 -0
- package/dist/core/modules/file/file-metadata.models.js +20 -0
- package/dist/core/modules/file/file-metadata.models.js.map +1 -0
- package/dist/core/modules/file/file-metadata.store.d.ts +6 -0
- package/dist/core/modules/file/file-metadata.store.js +77 -0
- package/dist/core/modules/file/file-metadata.store.js.map +1 -0
- package/dist/core/modules/file/file-storage.helper.d.ts +1 -0
- package/dist/core/modules/file/file-storage.helper.js +34 -0
- package/dist/core/modules/file/file-storage.helper.js.map +1 -1
- package/dist/core/modules/file/filesystem-file.helper.d.ts +1 -1
- package/dist/core/modules/file/filesystem-file.helper.js +4 -4
- package/dist/core/modules/file/filesystem-file.helper.js.map +1 -1
- package/dist/core/modules/file/s3-file.helper.d.ts +1 -1
- package/dist/core/modules/file/s3-file.helper.js +5 -5
- package/dist/core/modules/file/s3-file.helper.js.map +1 -1
- package/dist/core/modules/health-check/core-health-check.module.js +12 -2
- package/dist/core/modules/health-check/core-health-check.module.js.map +1 -1
- package/dist/core/modules/health-check/core-health-check.service.d.ts +4 -3
- package/dist/core/modules/health-check/core-health-check.service.js +26 -5
- package/dist/core/modules/health-check/core-health-check.service.js.map +1 -1
- package/dist/core/modules/hub/core-hub.controller.d.ts +1 -0
- package/dist/core/modules/hub/core-hub.controller.js +10 -0
- package/dist/core/modules/hub/core-hub.controller.js.map +1 -1
- package/dist/core/modules/hub/core-hub.service.js +1 -1
- package/dist/core/modules/hub/core-hub.service.js.map +1 -1
- package/dist/core/modules/hub/helpers/hub-client-js.helper.js +23 -0
- package/dist/core/modules/hub/helpers/hub-client-js.helper.js.map +1 -1
- package/dist/core/modules/hub/hub-action-messages.d.ts +2 -0
- package/dist/core/modules/hub/hub-action-messages.js +2 -0
- package/dist/core/modules/hub/hub-action-messages.js.map +1 -1
- package/dist/core/modules/hub/hub-nav.js +1 -0
- package/dist/core/modules/hub/hub-nav.js.map +1 -1
- package/dist/core/modules/hub/interfaces/hub-panels.interface.d.ts +17 -1
- package/dist/core/modules/hub/services/core-hub-db.service.d.ts +6 -1
- package/dist/core/modules/hub/services/core-hub-db.service.js +16 -14
- package/dist/core/modules/hub/services/core-hub-db.service.js.map +1 -1
- package/dist/core/modules/hub/services/core-hub-migrations.service.d.ts +5 -0
- package/dist/core/modules/hub/services/core-hub-migrations.service.js +74 -1
- package/dist/core/modules/hub/services/core-hub-migrations.service.js.map +1 -1
- package/dist/core/modules/hub/services/core-hub-sources.service.d.ts +2 -1
- package/dist/core/modules/hub/services/core-hub-sources.service.js +32 -0
- package/dist/core/modules/hub/services/core-hub-sources.service.js.map +1 -1
- package/dist/core/modules/hub/services/hub-query-profiler.service.js +1 -1
- package/dist/core/modules/hub/services/hub-query-profiler.service.js.map +1 -1
- package/dist/core/modules/migrate/cli/migrate-cli.d.ts +2 -0
- package/dist/core/modules/migrate/cli/migrate-cli.js +35 -1
- package/dist/core/modules/migrate/cli/migrate-cli.js.map +1 -1
- package/dist/core/modules/migrate/index.d.ts +3 -0
- package/dist/core/modules/migrate/index.js +3 -0
- package/dist/core/modules/migrate/index.js.map +1 -1
- package/dist/core/modules/migrate/migration-runner.d.ts +2 -2
- package/dist/core/modules/migrate/migration-runner.js.map +1 -1
- package/dist/core/modules/migrate/migration-state-store.interface.d.ts +16 -0
- package/dist/core/modules/migrate/migration-state-store.interface.js +2 -0
- package/dist/core/modules/migrate/migration-state-store.interface.js.map +1 -0
- package/dist/core/modules/migrate/migration.helper.d.ts +3 -2
- package/dist/core/modules/migrate/migration.helper.js +21 -6
- package/dist/core/modules/migrate/migration.helper.js.map +1 -1
- package/dist/core/modules/migrate/mongo-state-store.d.ts +5 -12
- package/dist/core/modules/migrate/mongo-state-store.js +30 -24
- package/dist/core/modules/migrate/mongo-state-store.js.map +1 -1
- package/dist/core/modules/migrate/sql-migration.helper.d.ts +4 -0
- package/dist/core/modules/migrate/sql-migration.helper.js +34 -0
- package/dist/core/modules/migrate/sql-migration.helper.js.map +1 -0
- package/dist/core/modules/migrate/sql-state-store.d.ts +24 -0
- package/dist/core/modules/migrate/sql-state-store.js +129 -0
- package/dist/core/modules/migrate/sql-state-store.js.map +1 -0
- package/dist/core/modules/system-setup/core-system-setup.service.d.ts +8 -0
- package/dist/core/modules/system-setup/core-system-setup.service.js +41 -25
- package/dist/core/modules/system-setup/core-system-setup.service.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant-member.model.js +1 -1
- package/dist/core/modules/tenant/core-tenant-member.model.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant-member.store.d.ts +2 -0
- package/dist/core/modules/tenant/core-tenant-member.store.js +6 -0
- package/dist/core/modules/tenant/core-tenant-member.store.js.map +1 -0
- package/dist/core/modules/tenant/core-tenant.guard.d.ts +8 -3
- package/dist/core/modules/tenant/core-tenant.guard.js +57 -28
- package/dist/core/modules/tenant/core-tenant.guard.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.module.js +3 -2
- package/dist/core/modules/tenant/core-tenant.module.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.service.d.ts +3 -1
- package/dist/core/modules/tenant/core-tenant.service.js +48 -28
- package/dist/core/modules/tenant/core-tenant.service.js.map +1 -1
- package/dist/core/modules/tus/core-tus.service.d.ts +1 -1
- package/dist/core/modules/tus/core-tus.service.js +8 -7
- package/dist/core/modules/tus/core-tus.service.js.map +1 -1
- package/dist/core/modules/tus/tus.module.js +1 -1
- package/dist/core/modules/tus/tus.module.js.map +1 -1
- package/dist/core/modules/user/core-user.model.d.ts +1 -1
- package/dist/core/modules/user/core-user.model.js +1 -1
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +3 -1
- package/dist/core/modules/user/core-user.service.js +71 -16
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core.module.js +39 -5
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +26 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -1
- package/dist/server/common/models/persistence.model.d.ts +1 -1
- package/dist/server/common/models/persistence.model.js +3 -3
- package/dist/server/common/models/persistence.model.js.map +1 -1
- package/dist/server/modules/file/file-info.model.d.ts +1 -77
- package/dist/server/modules/file/file-info.model.js +1 -1
- package/dist/server/modules/file/file-info.model.js.map +1 -1
- package/dist/server/modules/file/file.service.js +1 -1
- package/dist/server/modules/file/file.service.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +2 -186
- package/dist/server/modules/user/user.model.js +4 -5
- package/dist/server/modules/user/user.model.js.map +1 -1
- package/dist/server/modules/user/user.module.js +4 -3
- package/dist/server/modules/user/user.module.js.map +1 -1
- package/dist/server/modules/user/user.service.d.ts +1 -1
- package/dist/server/modules/user/user.service.js +5 -8
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/test/test.helper.js +2 -2
- package/dist/test/test.helper.js.map +1 -1
- package/dist/types/graphql-upload.d.ts +10 -7
- package/docs/REQUEST-LIFECYCLE.md +6 -3
- package/docs/choosing-a-database.md +107 -0
- package/docs/native-driver-security.md +29 -0
- package/docs/security-overrides.md +15 -6
- package/migration-guides/12.0.x-to-12.1.x.md +255 -0
- package/package.json +75 -29
- package/src/core/common/decorators/unified-field.decorator.ts +11 -1
- package/src/core/common/filters/mongoose-cast-error.filter.ts +12 -6
- package/src/core/common/helpers/db.helper.ts +40 -25
- package/src/core/common/helpers/decorator.helper.ts +1 -1
- package/src/core/common/helpers/filter.helper.ts +2 -1
- package/src/core/common/helpers/gridfs.helper.ts +28 -9
- package/src/core/common/helpers/id.helper.ts +21 -4
- package/src/core/common/helpers/model.helper.ts +5 -6
- package/src/core/common/helpers/service.helper.ts +3 -3
- package/src/core/common/interfaces/server-options.interface.ts +118 -10
- package/src/core/common/interfaces/service-options.interface.ts +2 -2
- package/src/core/common/models/core-persistence.model.ts +3 -3
- package/src/core/common/persistence/core-persistence.lifecycle.ts +47 -0
- package/src/core/common/persistence/core-persistence.module.ts +109 -0
- package/src/core/common/persistence/data-source.config.ts +271 -0
- package/src/core/common/persistence/data-source.runtime.ts +351 -0
- package/src/core/common/persistence/data-store.interface.ts +155 -0
- package/src/core/common/persistence/expiry-sweep.ts +105 -0
- package/src/core/common/persistence/id-format.ts +43 -0
- package/src/core/common/persistence/infrastructure-locks.ts +66 -0
- package/src/core/common/persistence/inject-store.decorator.ts +16 -0
- package/src/core/common/persistence/lock-store.interface.ts +17 -0
- package/src/core/common/persistence/model-descriptor.interface.ts +90 -0
- package/src/core/common/persistence/model-metadata.registry.ts +285 -0
- package/src/core/common/persistence/mongo/collection-name.ts +87 -0
- package/src/core/common/persistence/mongo/declared-schema.view.ts +378 -0
- package/src/core/common/persistence/mongo/hex-object-id.ts +75 -0
- package/src/core/common/persistence/mongo/model-declarations.ts +135 -0
- package/src/core/common/persistence/mongo/mongo-packages.ts +130 -0
- package/src/core/common/persistence/mongo/mongoose-compat.ts +129 -0
- package/src/core/common/persistence/mongo/no-mongo-connection.module.ts +18 -0
- package/src/core/common/persistence/mongo-lock-store.ts +121 -0
- package/src/core/common/persistence/mongoose-data-store.ts +232 -0
- package/src/core/common/persistence/neutral-populate.ts +98 -0
- package/src/core/common/persistence/persisted-model.decorator.ts +61 -0
- package/src/core/common/persistence/persistence-runtime.registry.ts +152 -0
- package/src/core/common/persistence/persistence.tokens.ts +9 -0
- package/src/core/common/persistence/policies/audit.policy.ts +80 -0
- package/src/core/common/persistence/policies/password.policy.ts +69 -0
- package/src/core/common/persistence/policies/role-guard.policy.ts +74 -0
- package/src/core/common/persistence/policies/system-role.policy.ts +90 -0
- package/src/core/common/persistence/policies/tenant.policy.ts +245 -0
- package/src/core/common/persistence/routed-model.guard.ts +107 -0
- package/src/core/common/persistence/sql/mysql/mysql-data-store.ts +503 -0
- package/src/core/common/persistence/sql/mysql/mysql-executor.ts +281 -0
- package/src/core/common/persistence/sql/mysql/mysql-lock-store.ts +87 -0
- package/src/core/common/persistence/sql/mysql/mysql-schema.compiler.ts +424 -0
- package/src/core/common/persistence/sql/mysql/mysql-schema.migrator.ts +453 -0
- package/src/core/common/persistence/sql/mysql/mysql-session.ts +131 -0
- package/src/core/common/persistence/sql/mysql/mysql-update.compiler.ts +379 -0
- package/src/core/common/persistence/sql/mysql/mysql-where.compiler.ts +686 -0
- package/src/core/common/persistence/sql/postgres/postgres-lock-store.ts +76 -0
- package/src/core/common/persistence/sql/postgres/postgres-schema.compiler.ts +328 -0
- package/src/core/common/persistence/sql/postgres/postgres-schema.migrator.ts +448 -0
- package/src/core/common/persistence/sql/postgres/postgres-update.compiler.ts +310 -0
- package/src/core/common/persistence/sql/postgres/postgres-where.compiler.ts +638 -0
- package/src/core/common/persistence/sql/sql-cast.ts +227 -0
- package/src/core/common/persistence/sql/sql-data-store.ts +762 -0
- package/src/core/common/persistence/sql/sql-dialect.ts +85 -0
- package/src/core/common/persistence/sql/sql-errors.ts +49 -0
- package/src/core/common/persistence/sql/sql-executor.factory.ts +282 -0
- package/src/core/common/persistence/sql/sql-executor.interface.ts +57 -0
- package/src/core/common/persistence/sql/sql-naming.ts +133 -0
- package/src/core/common/persistence/sql/sql-schema.shared.ts +105 -0
- package/src/core/common/persistence/sql/sql-session.ts +158 -0
- package/src/core/common/persistence/sql/where-shared.ts +118 -0
- package/src/core/common/persistence/store-guards.ts +73 -0
- package/src/core/common/persistence/store-upsert.ts +36 -0
- package/src/core/common/persistence/unavailable-store.ts +63 -0
- package/src/core/common/persistence/unsupported-capability.error.ts +7 -0
- package/src/core/common/plugins/mongoose-audit-fields.plugin.ts +33 -74
- package/src/core/common/plugins/mongoose-id.plugin.ts +9 -0
- package/src/core/common/plugins/mongoose-password.plugin.ts +6 -62
- package/src/core/common/plugins/mongoose-role-guard.plugin.ts +11 -63
- package/src/core/common/plugins/mongoose-system-role.plugin.ts +7 -78
- package/src/core/common/plugins/mongoose-tenant.plugin.ts +23 -144
- package/src/core/common/scalars/upload.scalar.ts +8 -3
- package/src/core/common/services/core-cron-jobs.initializer.ts +1 -1
- package/src/core/common/services/core-cron-jobs.service.ts +33 -22
- package/src/core/common/services/crud.service.ts +166 -35
- package/src/core/common/services/model-doc.service.ts +1 -1
- package/src/core/common/services/module.service.ts +78 -6
- package/src/core/common/types/field-selection.type.ts +1 -1
- package/src/core/common/types/id.type.ts +2 -2
- package/src/core/common/types/object-id-like.type.ts +11 -0
- package/src/core/common/types/populate-config.type.ts +1 -1
- package/src/core/common/types/string-or-object-id.type.ts +2 -2
- package/src/core/modules/ai/README.md +15 -2
- package/src/core/modules/ai/core-ai.constants.ts +10 -0
- package/src/core/modules/ai/core-ai.module.ts +32 -17
- package/src/core/modules/ai/models/core-ai-budget-limit.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-connection-preference.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-connection.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-conversation.model.ts +8 -4
- package/src/core/modules/ai/models/core-ai-interaction.model.ts +3 -3
- package/src/core/modules/ai/models/core-ai-mcp-oauth.models.ts +46 -0
- package/src/core/modules/ai/models/core-ai-mode.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-prompt-hint.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-prompt.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-slot.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-tool-grant.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-tool-policy.model.ts +2 -2
- package/src/core/modules/ai/services/core-ai-budget.service.ts +22 -4
- package/src/core/modules/ai/services/core-ai-connection-preference.service.ts +6 -13
- package/src/core/modules/ai/services/core-ai-connection.service.ts +34 -44
- package/src/core/modules/ai/services/core-ai-conversation.service.ts +31 -29
- package/src/core/modules/ai/services/core-ai-interaction.service.ts +3 -3
- package/src/core/modules/ai/services/core-ai-mcp-oauth.service.ts +93 -20
- package/src/core/modules/ai/services/core-ai-mode.service.ts +3 -6
- package/src/core/modules/ai/services/core-ai-prompt-hint.service.ts +43 -26
- package/src/core/modules/ai/services/core-ai-prompt.service.ts +15 -12
- package/src/core/modules/ai/services/core-ai-slot.service.ts +20 -24
- package/src/core/modules/ai/services/core-ai-tool-grant.service.ts +17 -27
- package/src/core/modules/ai/services/core-ai-tool-policy.service.ts +7 -10
- package/src/core/modules/api-token/core-api-token.model.ts +1 -1
- package/src/core/modules/api-token/core-api-token.module.ts +4 -2
- package/src/core/modules/api-token/core-api-token.service.ts +118 -43
- package/src/core/modules/auth/core-auth.module.ts +2 -0
- package/src/core/modules/auth/guards/legacy-auth-rate-limit.guard.ts +4 -3
- package/src/core/modules/auth/guards/role-guard.token.ts +7 -0
- package/src/core/modules/auth/services/core-auth.service.ts +16 -2
- package/src/core/modules/better-auth/INTEGRATION-CHECKLIST.md +1 -1
- package/src/core/modules/better-auth/README.md +10 -1
- package/src/core/modules/better-auth/better-auth-sql.helper.ts +191 -0
- package/src/core/modules/better-auth/better-auth-token.service.ts +26 -35
- package/src/core/modules/better-auth/better-auth.config.ts +43 -7
- package/src/core/modules/better-auth/better-auth.types.ts +1 -1
- package/src/core/modules/better-auth/core-better-auth-api.middleware.ts +13 -1
- package/src/core/modules/better-auth/core-better-auth-challenge.service.ts +36 -18
- package/src/core/modules/better-auth/core-better-auth-mongo.users.ts +35 -0
- package/src/core/modules/better-auth/core-better-auth-sql.registry.ts +20 -0
- package/src/core/modules/better-auth/core-better-auth-sql.store.ts +309 -0
- package/src/core/modules/better-auth/core-better-auth-user.mapper.ts +418 -40
- package/src/core/modules/better-auth/core-better-auth.module.ts +71 -35
- package/src/core/modules/better-auth/core-better-auth.service.ts +81 -12
- package/src/core/modules/file/README.md +16 -3
- package/src/core/modules/file/core-file-info.model.ts +2 -2
- package/src/core/modules/file/core-file.service.ts +27 -18
- package/src/core/modules/file/file-metadata.helper.ts +7 -3
- package/src/core/modules/file/file-metadata.models.ts +44 -0
- package/src/core/modules/file/file-metadata.store.ts +109 -0
- package/src/core/modules/file/file-storage.helper.ts +47 -2
- package/src/core/modules/file/filesystem-file.helper.ts +11 -8
- package/src/core/modules/file/s3-file.helper.ts +11 -7
- package/src/core/modules/health-check/core-health-check.module.ts +16 -2
- package/src/core/modules/health-check/core-health-check.service.ts +25 -3
- package/src/core/modules/hub/README.md +20 -11
- package/src/core/modules/hub/core-hub.controller.ts +5 -0
- package/src/core/modules/hub/core-hub.service.ts +1 -1
- package/src/core/modules/hub/helpers/hub-client-js.helper.ts +23 -0
- package/src/core/modules/hub/hub-action-messages.ts +6 -0
- package/src/core/modules/hub/hub-nav.ts +1 -0
- package/src/core/modules/hub/interfaces/hub-panels.interface.ts +8 -1
- package/src/core/modules/hub/services/core-hub-db.service.ts +35 -17
- package/src/core/modules/hub/services/core-hub-migrations.service.ts +96 -2
- package/src/core/modules/hub/services/core-hub-sources.service.ts +47 -1
- package/src/core/modules/hub/services/hub-query-profiler.service.ts +1 -1
- package/src/core/modules/migrate/README.md +54 -0
- package/src/core/modules/migrate/cli/migrate-cli.ts +44 -3
- package/src/core/modules/migrate/index.ts +3 -0
- package/src/core/modules/migrate/migration-runner.ts +3 -2
- package/src/core/modules/migrate/migration-state-store.interface.ts +24 -0
- package/src/core/modules/migrate/migration.helper.ts +35 -10
- package/src/core/modules/migrate/mongo-state-store.ts +64 -65
- package/src/core/modules/migrate/sql-migration.helper.ts +48 -0
- package/src/core/modules/migrate/sql-state-store.ts +198 -0
- package/src/core/modules/system-setup/README.md +14 -2
- package/src/core/modules/system-setup/core-system-setup.service.ts +77 -45
- package/src/core/modules/tenant/README.md +9 -2
- package/src/core/modules/tenant/core-tenant-member.model.ts +1 -1
- package/src/core/modules/tenant/core-tenant-member.store.ts +13 -0
- package/src/core/modules/tenant/core-tenant.guard.ts +77 -24
- package/src/core/modules/tenant/core-tenant.module.ts +6 -3
- package/src/core/modules/tenant/core-tenant.service.ts +59 -42
- package/src/core/modules/tus/core-tus.service.ts +11 -12
- package/src/core/modules/tus/tus.module.ts +1 -1
- package/src/core/modules/user/core-user.model.ts +2 -2
- package/src/core/modules/user/core-user.service.ts +98 -20
- package/src/core.module.ts +60 -5
- package/src/index.ts +26 -0
- package/src/server/common/models/persistence.model.ts +4 -4
- package/src/server/modules/file/file-info.model.ts +1 -1
- package/src/server/modules/file/file.service.ts +1 -1
- package/src/server/modules/user/user.model.ts +10 -5
- package/src/server/modules/user/user.module.ts +9 -3
- package/src/server/modules/user/user.service.ts +9 -11
- package/src/test/test.helper.ts +2 -2
- package/src/types/graphql-upload.d.ts +10 -7
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { getAuthTables } from 'better-auth/db';
|
|
2
|
+
import { getMigrations } from 'better-auth/db/migration';
|
|
3
|
+
import { DataSourceConfigError } from '../../common/persistence/data-source.config.js';
|
|
4
|
+
import { generateId } from '../../common/persistence/id-format.js';
|
|
5
|
+
import { registerForeignColumns } from '../../common/persistence/persistence-runtime.registry.js';
|
|
6
|
+
import { columnName, quoteIdentifier } from '../../common/persistence/sql/sql-naming.js';
|
|
7
|
+
const USERS_TABLE = 'users';
|
|
8
|
+
registerForeignColumns(USERS_TABLE, ['email_verified', 'image', 'name']);
|
|
9
|
+
const SQL_TYPES = {
|
|
10
|
+
boolean: 'boolean',
|
|
11
|
+
date: 'timestamptz',
|
|
12
|
+
json: 'jsonb',
|
|
13
|
+
number: 'integer',
|
|
14
|
+
'number[]': 'jsonb',
|
|
15
|
+
string: 'text',
|
|
16
|
+
'string[]': 'jsonb',
|
|
17
|
+
};
|
|
18
|
+
const CORE_MODELS = ['user', 'session', 'account', 'verification'];
|
|
19
|
+
export function withSqlStorage(options, pool) {
|
|
20
|
+
const sqlOptions = {
|
|
21
|
+
...options,
|
|
22
|
+
advanced: {
|
|
23
|
+
...options.advanced,
|
|
24
|
+
database: { ...options.advanced?.database, generateId: () => generateId() },
|
|
25
|
+
},
|
|
26
|
+
database: pool,
|
|
27
|
+
plugins: (options.plugins ?? []).map((plugin) => plugin?.schema ? { ...plugin, schema: snakeCaseSchema(plugin.schema) } : plugin),
|
|
28
|
+
};
|
|
29
|
+
const tables = getAuthTables(sqlOptions);
|
|
30
|
+
for (const model of CORE_MODELS) {
|
|
31
|
+
const own = (sqlOptions[model] ?? {});
|
|
32
|
+
const fields = {};
|
|
33
|
+
for (const [key, field] of Object.entries(tables[model]?.fields ?? {})) {
|
|
34
|
+
fields[key] = columnName(field.fieldName ?? key);
|
|
35
|
+
}
|
|
36
|
+
sqlOptions[model] = {
|
|
37
|
+
...own,
|
|
38
|
+
additionalFields: own.additionalFields ? snakeCaseFields(own.additionalFields) : undefined,
|
|
39
|
+
fields,
|
|
40
|
+
modelName: columnName(own.modelName ?? tables[model]?.modelName ?? model),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return sqlOptions;
|
|
44
|
+
}
|
|
45
|
+
function snakeCaseSchema(schema) {
|
|
46
|
+
return Object.fromEntries(Object.entries(schema).map(([key, table]) => [
|
|
47
|
+
key,
|
|
48
|
+
{
|
|
49
|
+
...table,
|
|
50
|
+
fields: snakeCaseFields(table.fields ?? {}),
|
|
51
|
+
...(CORE_MODELS.includes(key) ? {} : { modelName: columnName(table.modelName ?? key) }),
|
|
52
|
+
},
|
|
53
|
+
]));
|
|
54
|
+
}
|
|
55
|
+
function snakeCaseFields(fields) {
|
|
56
|
+
return Object.fromEntries(Object.entries(fields).map(([key, field]) => [key, { ...field, fieldName: columnName(field.fieldName ?? key) }]));
|
|
57
|
+
}
|
|
58
|
+
export function betterAuthOwnedTables(options) {
|
|
59
|
+
const tables = getAuthTables(options);
|
|
60
|
+
return [...new Set(Object.values(tables).map((table) => table.modelName))].filter((name) => name !== USERS_TABLE);
|
|
61
|
+
}
|
|
62
|
+
export async function applyBetterAuthSchema(options, storage) {
|
|
63
|
+
await storage.applySchema(async (pool, asOwner) => {
|
|
64
|
+
const nullable = asOwner ? await addRequiredUserColumnsAsNullable(options, pool) : new Set();
|
|
65
|
+
const { runMigrations, toBeAdded, toBeCreated } = await getMigrations({
|
|
66
|
+
...options,
|
|
67
|
+
database: pool,
|
|
68
|
+
logger: withoutNullabilityWarnings(options.logger, nullable),
|
|
69
|
+
});
|
|
70
|
+
if (asOwner) {
|
|
71
|
+
await runMigrations();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const pending = [...toBeCreated, ...toBeAdded].map((change) => change.table);
|
|
75
|
+
if (pending.length) {
|
|
76
|
+
throw new DataSourceConfigError(`Better-Auth's tables in "${storage.source}" are not up to date (${[...new Set(pending)].join(', ')}), and ` +
|
|
77
|
+
'without database.ownerUrl the application role may only verify them — configure the owner, or migrate them');
|
|
78
|
+
}
|
|
79
|
+
}, betterAuthOwnedTables(options));
|
|
80
|
+
}
|
|
81
|
+
async function addRequiredUserColumnsAsNullable(options, pool) {
|
|
82
|
+
const users = getAuthTables(options).user;
|
|
83
|
+
const { rows } = await pool.query('SELECT column_name FROM information_schema.columns WHERE table_schema = current_schema() AND table_name = $1', [users.modelName]);
|
|
84
|
+
const existing = new Set(rows.map((row) => row.column_name));
|
|
85
|
+
const nullable = new Set();
|
|
86
|
+
for (const [key, field] of Object.entries(users.fields)) {
|
|
87
|
+
const column = field.fieldName ?? key;
|
|
88
|
+
if (field.required === false) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
nullable.add(column);
|
|
92
|
+
if (field.defaultValue === undefined && !existing.has(column) && SQL_TYPES[field.type]) {
|
|
93
|
+
await pool.query(`ALTER TABLE ${quoteIdentifier(users.modelName)} ADD COLUMN IF NOT EXISTS ${quoteIdentifier(column)} ${SQL_TYPES[field.type]}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return nullable;
|
|
97
|
+
}
|
|
98
|
+
function withoutNullabilityWarnings(logger, columns) {
|
|
99
|
+
if (!columns.size || typeof logger?.log !== 'function') {
|
|
100
|
+
return logger;
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
...logger,
|
|
104
|
+
log: (level, message, ...args) => {
|
|
105
|
+
const column = /^Column "([^"]+)" on table "users" stays nullable/.exec(String(message))?.[1];
|
|
106
|
+
if (level === 'warn' && column && columns.has(column)) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
logger.log(level, message, ...args);
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=better-auth-sql.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"better-auth-sql.helper.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth-sql.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Connection } from 'mongoose';
|
|
2
2
|
import { BetterAuthenticatedUser } from './better-auth.types.js';
|
|
3
|
+
import { type IamUserLookup } from './core-better-auth-mongo.users.js';
|
|
3
4
|
import { CoreBetterAuthService } from './core-better-auth.service.js';
|
|
4
5
|
export interface TokenExtractionResult {
|
|
5
6
|
source: 'cookie' | 'header' | null;
|
|
@@ -16,6 +17,7 @@ export declare class BetterAuthTokenService {
|
|
|
16
17
|
}): TokenExtractionResult;
|
|
17
18
|
verifyAndLoadUser(token: string): Promise<BetterAuthenticatedUser | null>;
|
|
18
19
|
createUserWithHasRole(user: Record<string, unknown>): BetterAuthenticatedUser;
|
|
20
|
+
protected users(): IamUserLookup | undefined;
|
|
19
21
|
private loadUserFromPayload;
|
|
20
22
|
private loadUserFromSessionResult;
|
|
21
23
|
}
|
|
@@ -12,8 +12,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
var BetterAuthTokenService_1;
|
|
14
14
|
import { Injectable, Logger, Optional } from '@nestjs/common';
|
|
15
|
-
import { InjectConnection } from '
|
|
16
|
-
import {
|
|
15
|
+
import { InjectConnection } from '../../common/persistence/mongo/mongoose-compat.js';
|
|
16
|
+
import { BetterAuthMongoUsers } from './core-better-auth-mongo.users.js';
|
|
17
|
+
import { getBetterAuthSqlStore } from './core-better-auth-sql.registry.js';
|
|
17
18
|
import { CoreBetterAuthService } from './core-better-auth.service.js';
|
|
18
19
|
let BetterAuthTokenService = BetterAuthTokenService_1 = class BetterAuthTokenService {
|
|
19
20
|
betterAuthService;
|
|
@@ -41,7 +42,7 @@ let BetterAuthTokenService = BetterAuthTokenService_1 = class BetterAuthTokenSer
|
|
|
41
42
|
return { source: null, token: null };
|
|
42
43
|
}
|
|
43
44
|
async verifyAndLoadUser(token) {
|
|
44
|
-
if (!this.betterAuthService || !this.
|
|
45
|
+
if (!this.betterAuthService || !this.users()) {
|
|
45
46
|
return null;
|
|
46
47
|
}
|
|
47
48
|
if (this.betterAuthService.isJwtEnabled()) {
|
|
@@ -87,19 +88,16 @@ let BetterAuthTokenService = BetterAuthTokenService_1 = class BetterAuthTokenSer
|
|
|
87
88
|
id: user._id?.toString() || user.id,
|
|
88
89
|
};
|
|
89
90
|
}
|
|
91
|
+
users() {
|
|
92
|
+
return getBetterAuthSqlStore() ?? (this.connection ? new BetterAuthMongoUsers(this.connection) : undefined);
|
|
93
|
+
}
|
|
90
94
|
async loadUserFromPayload(payload) {
|
|
91
|
-
|
|
95
|
+
const users = this.users();
|
|
96
|
+
if (!users) {
|
|
92
97
|
return null;
|
|
93
98
|
}
|
|
94
99
|
try {
|
|
95
|
-
const
|
|
96
|
-
let user = null;
|
|
97
|
-
if (Types.ObjectId.isValid(payload.sub)) {
|
|
98
|
-
user = await usersCollection.findOne({ _id: new Types.ObjectId(payload.sub) });
|
|
99
|
-
}
|
|
100
|
-
if (!user) {
|
|
101
|
-
user = await usersCollection.findOne({ iamId: payload.sub });
|
|
102
|
-
}
|
|
100
|
+
const user = (await users.findUser({ id: payload.sub })) ?? (await users.findUser({ iamId: payload.sub }));
|
|
103
101
|
if (!user) {
|
|
104
102
|
return null;
|
|
105
103
|
}
|
|
@@ -111,21 +109,14 @@ let BetterAuthTokenService = BetterAuthTokenService_1 = class BetterAuthTokenSer
|
|
|
111
109
|
}
|
|
112
110
|
}
|
|
113
111
|
async loadUserFromSessionResult(sessionUser) {
|
|
114
|
-
|
|
112
|
+
const users = this.users();
|
|
113
|
+
if (!users || !sessionUser) {
|
|
115
114
|
return null;
|
|
116
115
|
}
|
|
117
116
|
try {
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
user = await usersCollection.findOne({ email: sessionUser.email });
|
|
122
|
-
}
|
|
123
|
-
if (!user && sessionUser.id) {
|
|
124
|
-
user = await usersCollection.findOne({ iamId: sessionUser.id });
|
|
125
|
-
}
|
|
126
|
-
if (!user && sessionUser.id && Types.ObjectId.isValid(sessionUser.id)) {
|
|
127
|
-
user = await usersCollection.findOne({ _id: new Types.ObjectId(sessionUser.id) });
|
|
128
|
-
}
|
|
117
|
+
const user = (await users.findUser({ email: sessionUser.email })) ??
|
|
118
|
+
(await users.findUser({ iamId: sessionUser.id })) ??
|
|
119
|
+
(await users.findUser({ id: sessionUser.id }));
|
|
129
120
|
if (!user) {
|
|
130
121
|
return null;
|
|
131
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth-token.service.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth-token.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"better-auth-token.service.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth-token.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export interface CreateBetterAuthOptions {
|
|
|
18
18
|
serverBaseUrl?: string;
|
|
19
19
|
serverCorsConfig?: boolean | ICorsConfig;
|
|
20
20
|
serverEnv?: string;
|
|
21
|
+
sqlPool?: unknown;
|
|
21
22
|
}
|
|
22
23
|
export type OnEmailVerifiedCallback = (userId: string) => Promise<void>;
|
|
23
24
|
export type OnPasswordResetCallback = (data: {
|
|
@@ -60,7 +61,13 @@ export interface CreateBetterAuthResult {
|
|
|
60
61
|
cookieDomain: string | undefined;
|
|
61
62
|
instance: BetterAuthInstance;
|
|
62
63
|
}
|
|
64
|
+
export interface BetterAuthOptionsResult {
|
|
65
|
+
cookieDomain: string | undefined;
|
|
66
|
+
options: Record<string, unknown>;
|
|
67
|
+
}
|
|
63
68
|
export declare function createBetterAuthInstance(options: CreateBetterAuthOptions): CreateBetterAuthResult | null;
|
|
69
|
+
export declare function instantiateBetterAuth(built: BetterAuthOptionsResult): CreateBetterAuthResult;
|
|
70
|
+
export declare function buildBetterAuthOptions(options: CreateBetterAuthOptions): BetterAuthOptionsResult | null;
|
|
64
71
|
export declare function wsSessionRevocationPlugin(): BetterAuthPlugin;
|
|
65
72
|
export declare function formatProjectName(name: string): string;
|
|
66
73
|
export declare function buildTrustedOrigins(config: IBetterAuth, options: {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { passkey } from '@better-auth/passkey';
|
|
2
2
|
import { Logger } from '@nestjs/common';
|
|
3
3
|
import { betterAuth } from 'better-auth';
|
|
4
|
-
import { mongodbAdapter } from 'better-auth/adapters/mongodb';
|
|
5
4
|
import { jwt, openAPI, twoFactor } from 'better-auth/plugins';
|
|
6
5
|
import * as crypto from 'crypto';
|
|
7
6
|
import * as fs from 'fs';
|
|
@@ -11,7 +10,9 @@ import { resolveServerUrls, strippedApiHostname } from '../../common/helpers/coo
|
|
|
11
10
|
import { revalidateWsConnectionsOf } from '../../common/helpers/graphql-ws-connection.helper.js';
|
|
12
11
|
import { ConfigService } from '../../common/services/config.service.js';
|
|
13
12
|
import { detectCookiePrefixDrift, resolveBetterAuthCookiePrefix } from './better-auth-cookie-prefix.helper.js';
|
|
13
|
+
import { withSqlStorage } from './better-auth-sql.helper.js';
|
|
14
14
|
import { projectProvidesOpenApiPlugin } from './core-better-auth-openapi.helper.js';
|
|
15
|
+
import { requireBetterAuthMongoAdapter } from '../../common/persistence/mongo/mongo-packages.js';
|
|
15
16
|
const logger = new Logger('BetterAuthConfig');
|
|
16
17
|
const betterAuthRuntimeLogger = new Logger('BetterAuth');
|
|
17
18
|
function logThroughNest(level, message, ...args) {
|
|
@@ -121,7 +122,14 @@ function mergeDefined(base, override) {
|
|
|
121
122
|
return merged;
|
|
122
123
|
}
|
|
123
124
|
export function createBetterAuthInstance(options) {
|
|
124
|
-
const
|
|
125
|
+
const built = buildBetterAuthOptions(options);
|
|
126
|
+
return built ? instantiateBetterAuth(built) : null;
|
|
127
|
+
}
|
|
128
|
+
export function instantiateBetterAuth(built) {
|
|
129
|
+
return { cookieDomain: built.cookieDomain, instance: betterAuth(built.options) };
|
|
130
|
+
}
|
|
131
|
+
export function buildBetterAuthOptions(options) {
|
|
132
|
+
const { config, db, fallbackSecrets, onEmailVerified, onPasswordReset, sendResetPasswordEmail, sendVerificationEmail, serverEnv, sqlPool, } = options;
|
|
125
133
|
if (config?.enabled === false) {
|
|
126
134
|
return null;
|
|
127
135
|
}
|
|
@@ -176,7 +184,7 @@ export function createBetterAuthInstance(options) {
|
|
|
176
184
|
},
|
|
177
185
|
basePath,
|
|
178
186
|
baseURL: betterAuthBaseUrl,
|
|
179
|
-
database:
|
|
187
|
+
database: sqlPool ? undefined : requireBetterAuthMongoAdapter()(db),
|
|
180
188
|
emailAndPassword: {
|
|
181
189
|
disableSignUp: config.emailAndPassword?.disableSignUp === true,
|
|
182
190
|
enabled: config.emailAndPassword?.enabled !== false,
|
|
@@ -258,9 +266,12 @@ export function createBetterAuthInstance(options) {
|
|
|
258
266
|
else {
|
|
259
267
|
finalConfig = betterAuthConfig;
|
|
260
268
|
}
|
|
269
|
+
if (sqlPool) {
|
|
270
|
+
finalConfig = withSqlStorage(finalConfig, sqlPool);
|
|
271
|
+
}
|
|
261
272
|
return {
|
|
262
273
|
cookieDomain: crossSubDomain.enabled ? crossSubDomain.domain : undefined,
|
|
263
|
-
|
|
274
|
+
options: finalConfig,
|
|
264
275
|
};
|
|
265
276
|
}
|
|
266
277
|
export function wsSessionRevocationPlugin() {
|
|
@@ -362,7 +373,7 @@ function buildPlugins(config, options) {
|
|
|
362
373
|
passkeyOptions.userVerification = normalizedPasskey.userVerification;
|
|
363
374
|
}
|
|
364
375
|
if (normalizedPasskey.webAuthnChallengeCookie) {
|
|
365
|
-
passkeyOptions.
|
|
376
|
+
passkeyOptions.advanced = { webAuthnChallengeCookie: normalizedPasskey.webAuthnChallengeCookie };
|
|
366
377
|
}
|
|
367
378
|
plugins.push(passkey(passkeyOptions));
|
|
368
379
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.config.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"better-auth.config.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.config.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export declare class CoreBetterAuthApiMiddleware implements NestMiddleware {
|
|
|
26
26
|
protected normalizeNativePasswords(req: Request, relativePath: string): void;
|
|
27
27
|
protected assertResetPasswordLength(submitted: string): void;
|
|
28
28
|
private getCookieHelper;
|
|
29
|
+
protected passkeyChallengeCookieName(authInstance: unknown): Promise<string>;
|
|
29
30
|
private useDbChallengeStorage;
|
|
30
31
|
use(req: Request, res: ExpressResponse, next: NextFunction): Promise<void>;
|
|
31
32
|
}
|
|
@@ -122,6 +122,11 @@ let CoreBetterAuthApiMiddleware = CoreBetterAuthApiMiddleware_1 = class CoreBett
|
|
|
122
122
|
}
|
|
123
123
|
return this.cookieHelper;
|
|
124
124
|
}
|
|
125
|
+
async passkeyChallengeCookieName(authInstance) {
|
|
126
|
+
const key = this.challengeService?.getCookieName() || 'better-auth-passkey';
|
|
127
|
+
const context = await authInstance.$context;
|
|
128
|
+
return context?.createAuthCookie?.(key)?.name ?? key;
|
|
129
|
+
}
|
|
125
130
|
useDbChallengeStorage() {
|
|
126
131
|
const enabled = this.challengeService?.isEnabled() ?? false;
|
|
127
132
|
if (enabled && !this.loggedChallengeStorageMode) {
|
|
@@ -162,7 +167,7 @@ let CoreBetterAuthApiMiddleware = CoreBetterAuthApiMiddleware_1 = class CoreBett
|
|
|
162
167
|
}
|
|
163
168
|
}
|
|
164
169
|
const config = this.betterAuthService.getConfig();
|
|
165
|
-
const cookieName = this.
|
|
170
|
+
const cookieName = isPasskeyGenerate || isPasskeyVerify ? await this.passkeyChallengeCookieName(authInstance) : '';
|
|
166
171
|
let challengeIdToDelete;
|
|
167
172
|
if (isPasskeyVerify && this.challengeService) {
|
|
168
173
|
const challengeId = req.body?.challengeId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-better-auth-api.middleware.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth-api.middleware.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-better-auth-api.middleware.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth-api.middleware.ts"],"names":[],"mappings":"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"}
|