@lenne.tech/nest-server 11.43.2 → 12.0.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 +82 -0
- package/.claude/rules/module-deprecation.md +3 -2
- package/.claude/rules/package-management.md +26 -15
- package/.claude/rules/role-system.md +17 -0
- package/.claude/rules/testing.md +24 -15
- package/CLAUDE.md +29 -4
- package/FRAMEWORK-API.md +215 -215
- package/bin/migrate.js +18 -17
- package/bin/package.json +3 -0
- package/dist/config.env.d.ts +1 -1
- package/dist/config.env.js +34 -43
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/args/filter.args.d.ts +2 -2
- package/dist/core/common/args/filter.args.js +13 -16
- package/dist/core/common/args/filter.args.js.map +1 -1
- package/dist/core/common/args/pagination.args.d.ts +2 -2
- package/dist/core/common/args/pagination.args.js +20 -23
- package/dist/core/common/args/pagination.args.js.map +1 -1
- package/dist/core/common/decorators/api-methods.decorator.js +3 -7
- package/dist/core/common/decorators/api-methods.decorator.js.map +1 -1
- package/dist/core/common/decorators/common-error.decorator.js +6 -10
- package/dist/core/common/decorators/common-error.decorator.js.map +1 -1
- package/dist/core/common/decorators/current-user.decorator.js +3 -6
- package/dist/core/common/decorators/current-user.decorator.js.map +1 -1
- package/dist/core/common/decorators/graphql-populate.decorator.d.ts +1 -1
- package/dist/core/common/decorators/graphql-populate.decorator.js +3 -6
- package/dist/core/common/decorators/graphql-populate.decorator.js.map +1 -1
- package/dist/core/common/decorators/graphql-service-options.decorator.d.ts +1 -1
- package/dist/core/common/decorators/graphql-service-options.decorator.js +7 -10
- package/dist/core/common/decorators/graphql-service-options.decorator.js.map +1 -1
- package/dist/core/common/decorators/graphql-user.decorator.js +4 -7
- package/dist/core/common/decorators/graphql-user.decorator.js.map +1 -1
- package/dist/core/common/decorators/nested-type.registry.js +3 -7
- package/dist/core/common/decorators/nested-type.registry.js.map +1 -1
- package/dist/core/common/decorators/response-model.decorator.d.ts +1 -1
- package/dist/core/common/decorators/response-model.decorator.js +3 -7
- package/dist/core/common/decorators/response-model.decorator.js.map +1 -1
- package/dist/core/common/decorators/rest-service-options.decorator.js +4 -7
- package/dist/core/common/decorators/rest-service-options.decorator.js.map +1 -1
- package/dist/core/common/decorators/rest-user.decorator.js +2 -5
- package/dist/core/common/decorators/rest-user.decorator.js.map +1 -1
- package/dist/core/common/decorators/restricted.decorator.d.ts +3 -3
- package/dist/core/common/decorators/restricted.decorator.js +42 -52
- package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
- package/dist/core/common/decorators/restrictions-checked.marker.js +8 -14
- package/dist/core/common/decorators/restrictions-checked.marker.js.map +1 -1
- package/dist/core/common/decorators/roles.decorator.js +2 -6
- package/dist/core/common/decorators/roles.decorator.js.map +1 -1
- package/dist/core/common/decorators/translatable.decorator.js +4 -9
- package/dist/core/common/decorators/translatable.decorator.js.map +1 -1
- package/dist/core/common/decorators/unified-field.decorator.d.ts +4 -4
- package/dist/core/common/decorators/unified-field.decorator.js +56 -64
- package/dist/core/common/decorators/unified-field.decorator.js.map +1 -1
- package/dist/core/common/enums/comparison-operator.enum.js +4 -7
- package/dist/core/common/enums/comparison-operator.enum.js.map +1 -1
- package/dist/core/common/enums/logical-operator.enum.js +4 -7
- package/dist/core/common/enums/logical-operator.enum.js.map +1 -1
- package/dist/core/common/enums/process-type.enum.js +2 -5
- package/dist/core/common/enums/process-type.enum.js.map +1 -1
- package/dist/core/common/enums/role.enum.js +14 -22
- package/dist/core/common/enums/role.enum.js.map +1 -1
- package/dist/core/common/enums/sort-order.emum.js +4 -7
- package/dist/core/common/enums/sort-order.emum.js.map +1 -1
- package/dist/core/common/exceptions/access-denied.exception.js +5 -8
- package/dist/core/common/exceptions/access-denied.exception.js.map +1 -1
- package/dist/core/common/filters/http-exception-log.filter.js +7 -9
- package/dist/core/common/filters/http-exception-log.filter.js.map +1 -1
- package/dist/core/common/filters/mongoose-cast-error.filter.js +16 -23
- package/dist/core/common/filters/mongoose-cast-error.filter.js.map +1 -1
- package/dist/core/common/helpers/clone.helper.js +6 -10
- package/dist/core/common/helpers/clone.helper.js.map +1 -1
- package/dist/core/common/helpers/common.helper.js +2 -6
- package/dist/core/common/helpers/common.helper.js.map +1 -1
- package/dist/core/common/helpers/config.helper.d.ts +1 -0
- package/dist/core/common/helpers/config.helper.js +35 -40
- package/dist/core/common/helpers/config.helper.js.map +1 -1
- package/dist/core/common/helpers/content-disposition.helper.js +1 -4
- package/dist/core/common/helpers/content-disposition.helper.js.map +1 -1
- package/dist/core/common/helpers/context.helper.js +4 -8
- package/dist/core/common/helpers/context.helper.js.map +1 -1
- package/dist/core/common/helpers/cookies.helper.d.ts +1 -1
- package/dist/core/common/helpers/cookies.helper.js +20 -37
- package/dist/core/common/helpers/cookies.helper.js.map +1 -1
- package/dist/core/common/helpers/db.helper.d.ts +5 -5
- package/dist/core/common/helpers/db.helper.js +32 -52
- package/dist/core/common/helpers/db.helper.js.map +1 -1
- package/dist/core/common/helpers/decorator.helper.js +9 -13
- package/dist/core/common/helpers/decorator.helper.js.map +1 -1
- package/dist/core/common/helpers/execution-context-request.helper.js +1 -4
- package/dist/core/common/helpers/execution-context-request.helper.js.map +1 -1
- package/dist/core/common/helpers/file.helper.d.ts +1 -1
- package/dist/core/common/helpers/file.helper.js +24 -32
- package/dist/core/common/helpers/file.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.d.ts +2 -2
- package/dist/core/common/helpers/filter.helper.js +35 -44
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/graceful-shutdown.helper.js +5 -8
- package/dist/core/common/helpers/graceful-shutdown.helper.js.map +1 -1
- package/dist/core/common/helpers/graphql-ws-connection.helper.d.ts +3 -1
- package/dist/core/common/helpers/graphql-ws-connection.helper.js +25 -32
- package/dist/core/common/helpers/graphql-ws-connection.helper.js.map +1 -1
- package/dist/core/common/helpers/graphql-ws-context.helper.d.ts +2 -2
- package/dist/core/common/helpers/graphql-ws-context.helper.js +25 -33
- package/dist/core/common/helpers/graphql-ws-context.helper.js.map +1 -1
- package/dist/core/common/helpers/graphql.helper.js +14 -29
- package/dist/core/common/helpers/graphql.helper.js.map +1 -1
- package/dist/core/common/helpers/gridfs.helper.js +3 -7
- package/dist/core/common/helpers/gridfs.helper.js.map +1 -1
- package/dist/core/common/helpers/id.helper.d.ts +1 -1
- package/dist/core/common/helpers/id.helper.js +9 -15
- package/dist/core/common/helpers/id.helper.js.map +1 -1
- package/dist/core/common/helpers/input.helper.d.ts +3 -3
- package/dist/core/common/helpers/input.helper.js +68 -110
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/interceptor.helper.d.ts +1 -1
- package/dist/core/common/helpers/interceptor.helper.js +7 -11
- package/dist/core/common/helpers/interceptor.helper.js.map +1 -1
- package/dist/core/common/helpers/logging.helper.js +7 -16
- package/dist/core/common/helpers/logging.helper.js.map +1 -1
- package/dist/core/common/helpers/meta.helper.js +14 -20
- package/dist/core/common/helpers/meta.helper.js.map +1 -1
- package/dist/core/common/helpers/model.helper.js +20 -31
- package/dist/core/common/helpers/model.helper.js.map +1 -1
- package/dist/core/common/helpers/module-location.helper.d.ts +1 -0
- package/dist/core/common/helpers/module-location.helper.js +20 -0
- package/dist/core/common/helpers/module-location.helper.js.map +1 -0
- package/dist/core/common/helpers/outbound-url.helper.js +24 -33
- package/dist/core/common/helpers/outbound-url.helper.js.map +1 -1
- package/dist/core/common/helpers/process-diagnostics.helper.js +6 -10
- package/dist/core/common/helpers/process-diagnostics.helper.js.map +1 -1
- package/dist/core/common/helpers/project-name.helper.js +4 -8
- package/dist/core/common/helpers/project-name.helper.js.map +1 -1
- package/dist/core/common/helpers/register-enum.helper.js +11 -16
- package/dist/core/common/helpers/register-enum.helper.js.map +1 -1
- package/dist/core/common/helpers/scim.helper.js +1 -4
- package/dist/core/common/helpers/scim.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.d.ts +3 -3
- package/dist/core/common/helpers/service.helper.js +29 -36
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/helpers/swagger.helper.d.ts +2 -2
- package/dist/core/common/helpers/swagger.helper.js +116 -86
- package/dist/core/common/helpers/swagger.helper.js.map +1 -1
- package/dist/core/common/helpers/table.helper.js +1 -4
- package/dist/core/common/helpers/table.helper.js.map +1 -1
- package/dist/core/common/helpers/validation-message.helper.js +2 -6
- package/dist/core/common/helpers/validation-message.helper.js.map +1 -1
- package/dist/core/common/inputs/combined-filter.input.d.ts +1 -1
- package/dist/core/common/inputs/combined-filter.input.js +1 -5
- package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
- package/dist/core/common/inputs/core-input.input.d.ts +1 -1
- package/dist/core/common/inputs/core-input.input.js +4 -8
- package/dist/core/common/inputs/core-input.input.js.map +1 -1
- package/dist/core/common/inputs/filter.input.d.ts +3 -3
- package/dist/core/common/inputs/filter.input.js +31 -34
- package/dist/core/common/inputs/filter.input.js.map +1 -1
- package/dist/core/common/inputs/single-filter.input.d.ts +2 -2
- package/dist/core/common/inputs/single-filter.input.js +28 -31
- package/dist/core/common/inputs/single-filter.input.js.map +1 -1
- package/dist/core/common/inputs/sort.input.d.ts +2 -2
- package/dist/core/common/inputs/sort.input.js +16 -19
- package/dist/core/common/inputs/sort.input.js.map +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.d.ts +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js +12 -15
- package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
- package/dist/core/common/interceptors/check-security.interceptor.d.ts +1 -1
- package/dist/core/common/interceptors/check-security.interceptor.js +16 -19
- package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
- package/dist/core/common/interceptors/response-model.interceptor.d.ts +1 -1
- package/dist/core/common/interceptors/response-model.interceptor.js +16 -19
- package/dist/core/common/interceptors/response-model.interceptor.js.map +1 -1
- package/dist/core/common/interceptors/translate-response.interceptor.js +12 -15
- package/dist/core/common/interceptors/translate-response.interceptor.js.map +1 -1
- package/dist/core/common/interfaces/core-persistence-model.interface.d.ts +1 -1
- package/dist/core/common/interfaces/core-persistence-model.interface.js +1 -2
- package/dist/core/common/interfaces/cron-job-config-with-time-zone.interface.d.ts +1 -1
- package/dist/core/common/interfaces/cron-job-config-with-time-zone.interface.js +1 -2
- package/dist/core/common/interfaces/cron-job-config-with-utc-offset.interface.d.ts +1 -1
- package/dist/core/common/interfaces/cron-job-config-with-utc-offset.interface.js +1 -2
- package/dist/core/common/interfaces/cron-job-config.interface.js +1 -2
- package/dist/core/common/interfaces/mailjet-options.interface.js +1 -2
- package/dist/core/common/interfaces/prepare-input-options.interface.js +1 -2
- package/dist/core/common/interfaces/prepare-output-options.interface.js +1 -2
- package/dist/core/common/interfaces/resolve-selector.interface.js +1 -2
- package/dist/core/common/interfaces/scim-array-filter-node.interface.d.ts +1 -1
- package/dist/core/common/interfaces/scim-array-filter-node.interface.js +1 -2
- package/dist/core/common/interfaces/scim-condition-node.interface.d.ts +1 -1
- package/dist/core/common/interfaces/scim-condition-node.interface.js +1 -2
- package/dist/core/common/interfaces/scim-logical-node.interface.d.ts +2 -2
- package/dist/core/common/interfaces/scim-logical-node.interface.js +1 -2
- package/dist/core/common/interfaces/server-options.interface.d.ts +8 -9
- package/dist/core/common/interfaces/server-options.interface.js +1 -2
- package/dist/core/common/interfaces/service-options.interface.d.ts +3 -3
- package/dist/core/common/interfaces/service-options.interface.js +1 -2
- package/dist/core/common/interfaces/swagger-setup-options.interface.js +1 -2
- package/dist/core/common/middleware/request-context.middleware.js +6 -9
- package/dist/core/common/middleware/request-context.middleware.js.map +1 -1
- package/dist/core/common/middlewares/security-headers.middleware.d.ts +2 -2
- package/dist/core/common/middlewares/security-headers.middleware.js +6 -9
- package/dist/core/common/middlewares/security-headers.middleware.js.map +1 -1
- package/dist/core/common/middlewares/to-lower-case.middleware.js +1 -5
- package/dist/core/common/middlewares/to-lower-case.middleware.js.map +1 -1
- package/dist/core/common/models/core-model.model.js +3 -7
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/models/core-persistence.model.d.ts +1 -1
- package/dist/core/common/models/core-persistence.model.js +27 -30
- package/dist/core/common/models/core-persistence.model.js.map +1 -1
- package/dist/core/common/models/pagination-info.model.js +11 -14
- package/dist/core/common/models/pagination-info.model.js.map +1 -1
- package/dist/core/common/pipes/check-input.pipe.js +10 -13
- package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.js +63 -66
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
- package/dist/core/common/plugins/complexity.plugin.d.ts +1 -1
- package/dist/core/common/plugins/complexity.plugin.js +13 -16
- package/dist/core/common/plugins/complexity.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-audit-fields.plugin.js +7 -10
- package/dist/core/common/plugins/mongoose-audit-fields.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-id.plugin.js +1 -4
- package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-password.plugin.js +10 -16
- package/dist/core/common/plugins/mongoose-password.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-role-guard.plugin.js +14 -17
- package/dist/core/common/plugins/mongoose-role-guard.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-system-role.plugin.js +6 -9
- package/dist/core/common/plugins/mongoose-system-role.plugin.js.map +1 -1
- package/dist/core/common/plugins/mongoose-tenant.plugin.js +15 -18
- package/dist/core/common/plugins/mongoose-tenant.plugin.js.map +1 -1
- package/dist/core/common/scalars/any.scalar.js +14 -17
- package/dist/core/common/scalars/any.scalar.js.map +1 -1
- package/dist/core/common/scalars/date-timestamp.scalar.js +7 -10
- package/dist/core/common/scalars/date-timestamp.scalar.js.map +1 -1
- package/dist/core/common/scalars/date.scalar.js +7 -10
- package/dist/core/common/scalars/date.scalar.js.map +1 -1
- package/dist/core/common/scalars/json.scalar.js +14 -17
- package/dist/core/common/scalars/json.scalar.js.map +1 -1
- package/dist/core/common/scalars/upload.scalar.d.ts +2 -0
- package/dist/core/common/scalars/upload.scalar.js +3 -0
- package/dist/core/common/scalars/upload.scalar.js.map +1 -0
- package/dist/core/common/services/brevo.service.d.ts +7 -3
- package/dist/core/common/services/brevo.service.js +11 -13
- package/dist/core/common/services/brevo.service.js.map +1 -1
- package/dist/core/common/services/config.service.d.ts +1 -1
- package/dist/core/common/services/config.service.js +18 -23
- package/dist/core/common/services/config.service.js.map +1 -1
- package/dist/core/common/services/core-body-parser.initializer.d.ts +1 -1
- package/dist/core/common/services/core-body-parser.initializer.js +17 -21
- package/dist/core/common/services/core-body-parser.initializer.js.map +1 -1
- package/dist/core/common/services/core-cron-jobs.initializer.d.ts +2 -2
- package/dist/core/common/services/core-cron-jobs.initializer.js +12 -17
- package/dist/core/common/services/core-cron-jobs.initializer.js.map +1 -1
- package/dist/core/common/services/core-cron-jobs.registry.d.ts +1 -1
- package/dist/core/common/services/core-cron-jobs.registry.js +2 -6
- package/dist/core/common/services/core-cron-jobs.registry.js.map +1 -1
- package/dist/core/common/services/core-cron-jobs.service.d.ts +4 -4
- package/dist/core/common/services/core-cron-jobs.service.js +37 -35
- package/dist/core/common/services/core-cron-jobs.service.js.map +1 -1
- package/dist/core/common/services/core-redis-pubsub.d.ts +1 -1
- package/dist/core/common/services/core-redis-pubsub.js +4 -8
- package/dist/core/common/services/core-redis-pubsub.js.map +1 -1
- package/dist/core/common/services/core-redis.service.d.ts +2 -2
- package/dist/core/common/services/core-redis.service.js +11 -14
- package/dist/core/common/services/core-redis.service.js.map +1 -1
- package/dist/core/common/services/core-s3.service.d.ts +2 -2
- package/dist/core/common/services/core-s3.service.js +21 -17
- package/dist/core/common/services/core-s3.service.js.map +1 -1
- package/dist/core/common/services/core-tenant-context.registry.d.ts +5 -1
- package/dist/core/common/services/core-tenant-context.registry.js +2 -6
- package/dist/core/common/services/core-tenant-context.registry.js.map +1 -1
- package/dist/core/common/services/core-trust-proxy.initializer.d.ts +1 -1
- package/dist/core/common/services/core-trust-proxy.initializer.js +11 -14
- package/dist/core/common/services/core-trust-proxy.initializer.js.map +1 -1
- package/dist/core/common/services/crud.service.d.ts +6 -6
- package/dist/core/common/services/crud.service.js +35 -39
- package/dist/core/common/services/crud.service.js.map +1 -1
- package/dist/core/common/services/email.service.d.ts +5 -5
- package/dist/core/common/services/email.service.js +27 -30
- package/dist/core/common/services/email.service.js.map +1 -1
- package/dist/core/common/services/mailjet.service.d.ts +1 -1
- package/dist/core/common/services/mailjet.service.js +9 -11
- package/dist/core/common/services/mailjet.service.js.map +1 -1
- package/dist/core/common/services/model-doc.service.d.ts +1 -1
- package/dist/core/common/services/model-doc.service.js +9 -13
- package/dist/core/common/services/model-doc.service.js.map +1 -1
- package/dist/core/common/services/model-registry.service.d.ts +1 -1
- package/dist/core/common/services/model-registry.service.js +1 -5
- package/dist/core/common/services/model-registry.service.js.map +1 -1
- package/dist/core/common/services/module.service.d.ts +5 -5
- package/dist/core/common/services/module.service.js +25 -29
- package/dist/core/common/services/module.service.js.map +1 -1
- package/dist/core/common/services/rate-limit-store.d.ts +1 -1
- package/dist/core/common/services/rate-limit-store.js +9 -15
- package/dist/core/common/services/rate-limit-store.js.map +1 -1
- package/dist/core/common/services/request-context.service.js +3 -7
- package/dist/core/common/services/request-context.service.js.map +1 -1
- package/dist/core/common/services/template.service.d.ts +1 -1
- package/dist/core/common/services/template.service.js +12 -15
- package/dist/core/common/services/template.service.js.map +1 -1
- package/dist/core/common/types/array-element.type.js +1 -2
- package/dist/core/common/types/core-model-constructor.type.d.ts +1 -1
- package/dist/core/common/types/core-model-constructor.type.js +1 -2
- package/dist/core/common/types/falsy.type.js +1 -2
- package/dist/core/common/types/field-selection.type.d.ts +1 -1
- package/dist/core/common/types/field-selection.type.js +1 -2
- package/dist/core/common/types/id.type.js +1 -2
- package/dist/core/common/types/ids.type.d.ts +1 -1
- package/dist/core/common/types/ids.type.js +1 -2
- package/dist/core/common/types/is-one-of.type.js +1 -2
- package/dist/core/common/types/maybe-promise.type.js +1 -2
- package/dist/core/common/types/plain-input.type.js +1 -2
- package/dist/core/common/types/plain-object-deep.type.js +1 -2
- package/dist/core/common/types/plain-object.type.js +1 -2
- package/dist/core/common/types/populate-config.type.js +1 -2
- package/dist/core/common/types/remove-methods.type.js +1 -2
- package/dist/core/common/types/require-only-one.type.js +1 -2
- package/dist/core/common/types/required-at-least-one.type.js +1 -2
- package/dist/core/common/types/scim-comparator.type.js +1 -2
- package/dist/core/common/types/scim-logical-operator.type.js +1 -2
- package/dist/core/common/types/scim-node.type.d.ts +3 -3
- package/dist/core/common/types/scim-node.type.js +1 -2
- package/dist/core/common/types/string-or-object-id.type.js +1 -2
- package/dist/core/common/types/wrapper.type.js +1 -2
- package/dist/core/modules/ai/core-ai-mcp-oauth.initializer.d.ts +1 -1
- package/dist/core/modules/ai/core-ai-mcp-oauth.initializer.js +39 -42
- package/dist/core/modules/ai/core-ai-mcp-oauth.initializer.js.map +1 -1
- package/dist/core/modules/ai/core-ai-mcp.controller.d.ts +9 -4
- package/dist/core/modules/ai/core-ai-mcp.controller.js +69 -49
- package/dist/core/modules/ai/core-ai-mcp.controller.js.map +1 -1
- package/dist/core/modules/ai/core-ai.constants.js +22 -25
- package/dist/core/modules/ai/core-ai.constants.js.map +1 -1
- package/dist/core/modules/ai/core-ai.controller.d.ts +38 -38
- package/dist/core/modules/ai/core-ai.controller.js +223 -226
- package/dist/core/modules/ai/core-ai.controller.js.map +1 -1
- package/dist/core/modules/ai/core-ai.module.d.ts +19 -19
- package/dist/core/modules/ai/core-ai.module.js +136 -139
- package/dist/core/modules/ai/core-ai.module.js.map +1 -1
- package/dist/core/modules/ai/core-ai.resolver.d.ts +36 -36
- package/dist/core/modules/ai/core-ai.resolver.js +236 -239
- package/dist/core/modules/ai/core-ai.resolver.js.map +1 -1
- package/dist/core/modules/ai/helpers/ai-mcp-oauth-consent.helper.js +11 -17
- package/dist/core/modules/ai/helpers/ai-mcp-oauth-consent.helper.js.map +1 -1
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.helper.d.ts +2 -2
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.helper.js +13 -17
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.helper.js.map +1 -1
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.registry.js +2 -6
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.registry.js.map +1 -1
- package/dist/core/modules/ai/hooks/ai-hook.base.d.ts +2 -2
- package/dist/core/modules/ai/hooks/ai-hook.base.js +7 -10
- package/dist/core/modules/ai/hooks/ai-hook.base.js.map +1 -1
- package/dist/core/modules/ai/hooks/ai-hook.registry.d.ts +3 -3
- package/dist/core/modules/ai/hooks/ai-hook.registry.js +5 -8
- package/dist/core/modules/ai/hooks/ai-hook.registry.js.map +1 -1
- package/dist/core/modules/ai/index.d.ts +71 -71
- package/dist/core/modules/ai/index.js +71 -87
- package/dist/core/modules/ai/index.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-budget-limit-create.input.d.ts +1 -1
- package/dist/core/modules/ai/inputs/core-ai-budget-limit-create.input.js +16 -19
- package/dist/core/modules/ai/inputs/core-ai-budget-limit-create.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-budget-limit.input.js +21 -24
- package/dist/core/modules/ai/inputs/core-ai-budget-limit.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-connection-create.input.d.ts +1 -1
- package/dist/core/modules/ai/inputs/core-ai-connection-create.input.js +16 -19
- package/dist/core/modules/ai/inputs/core-ai-connection-create.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-connection-preference.input.js +18 -21
- package/dist/core/modules/ai/inputs/core-ai-connection-preference.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-connection.input.js +52 -55
- package/dist/core/modules/ai/inputs/core-ai-connection.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-conversation-create.input.d.ts +1 -1
- package/dist/core/modules/ai/inputs/core-ai-conversation-create.input.js +9 -12
- package/dist/core/modules/ai/inputs/core-ai-conversation-create.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-conversation.input.js +12 -15
- package/dist/core/modules/ai/inputs/core-ai-conversation.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-prompt-create.input.d.ts +1 -1
- package/dist/core/modules/ai/inputs/core-ai-prompt-create.input.js +20 -23
- package/dist/core/modules/ai/inputs/core-ai-prompt-create.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-prompt-hint-create.input.d.ts +1 -1
- package/dist/core/modules/ai/inputs/core-ai-prompt-hint-create.input.js +14 -17
- package/dist/core/modules/ai/inputs/core-ai-prompt-hint-create.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-prompt-hint.input.js +18 -21
- package/dist/core/modules/ai/inputs/core-ai-prompt-hint.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-prompt-update.input.d.ts +1 -1
- package/dist/core/modules/ai/inputs/core-ai-prompt-update.input.js +19 -22
- package/dist/core/modules/ai/inputs/core-ai-prompt-update.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-prompt.input.js +37 -40
- package/dist/core/modules/ai/inputs/core-ai-prompt.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-slot-create.input.d.ts +1 -1
- package/dist/core/modules/ai/inputs/core-ai-slot-create.input.js +14 -17
- package/dist/core/modules/ai/inputs/core-ai-slot-create.input.js.map +1 -1
- package/dist/core/modules/ai/inputs/core-ai-slot-update.input.js +24 -27
- package/dist/core/modules/ai/inputs/core-ai-slot-update.input.js.map +1 -1
- package/dist/core/modules/ai/interfaces/ai-hook.interface.d.ts +3 -3
- package/dist/core/modules/ai/interfaces/ai-hook.interface.js +1 -2
- package/dist/core/modules/ai/interfaces/ai-interaction-record.interface.js +1 -2
- package/dist/core/modules/ai/interfaces/ai-placeholder.interface.d.ts +1 -1
- package/dist/core/modules/ai/interfaces/ai-placeholder.interface.js +1 -2
- package/dist/core/modules/ai/interfaces/ai-tool.interface.d.ts +2 -2
- package/dist/core/modules/ai/interfaces/ai-tool.interface.js +1 -2
- package/dist/core/modules/ai/interfaces/llm-provider.interface.js +1 -2
- package/dist/core/modules/ai/interfaces/resolved-ai-connection.interface.js +1 -2
- package/dist/core/modules/ai/models/core-ai-action.model.js +12 -15
- package/dist/core/modules/ai/models/core-ai-action.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-available-connection.model.js +13 -16
- package/dist/core/modules/ai/models/core-ai-available-connection.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-budget-limit.model.d.ts +1 -1
- package/dist/core/modules/ai/models/core-ai-budget-limit.model.js +24 -27
- 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 +1 -1
- package/dist/core/modules/ai/models/core-ai-connection-preference.model.js +22 -25
- 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 +1 -1
- package/dist/core/modules/ai/models/core-ai-connection.model.js +56 -59
- 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 -2
- package/dist/core/modules/ai/models/core-ai-conversation.model.js +31 -34
- 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 +1 -1
- package/dist/core/modules/ai/models/core-ai-interaction.model.js +39 -42
- package/dist/core/modules/ai/models/core-ai-interaction.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-message.model.js +10 -13
- package/dist/core/modules/ai/models/core-ai-message.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-mode.model.d.ts +1 -1
- package/dist/core/modules/ai/models/core-ai-mode.model.js +27 -30
- 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 +1 -1
- package/dist/core/modules/ai/models/core-ai-prompt-hint.model.js +26 -29
- 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 +1 -1
- package/dist/core/modules/ai/models/core-ai-prompt.model.js +29 -32
- package/dist/core/modules/ai/models/core-ai-prompt.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-response.model.d.ts +3 -3
- package/dist/core/modules/ai/models/core-ai-response.model.js +28 -31
- package/dist/core/modules/ai/models/core-ai-response.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-slot.model.d.ts +1 -1
- package/dist/core/modules/ai/models/core-ai-slot.model.js +32 -35
- 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 +1 -1
- package/dist/core/modules/ai/models/core-ai-tool-grant.model.js +26 -29
- 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 +1 -1
- package/dist/core/modules/ai/models/core-ai-tool-policy.model.js +36 -39
- package/dist/core/modules/ai/models/core-ai-tool-policy.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-usage-info.model.js +33 -36
- package/dist/core/modules/ai/models/core-ai-usage-info.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-usage.model.js +10 -13
- package/dist/core/modules/ai/models/core-ai-usage.model.js.map +1 -1
- package/dist/core/modules/ai/providers/claude-cli.provider.d.ts +2 -2
- package/dist/core/modules/ai/providers/claude-cli.provider.js +14 -18
- package/dist/core/modules/ai/providers/claude-cli.provider.js.map +1 -1
- package/dist/core/modules/ai/providers/llm-provider.factory.d.ts +2 -2
- package/dist/core/modules/ai/providers/llm-provider.factory.js +7 -10
- package/dist/core/modules/ai/providers/llm-provider.factory.js.map +1 -1
- package/dist/core/modules/ai/providers/openai-compatible.provider.d.ts +2 -2
- package/dist/core/modules/ai/providers/openai-compatible.provider.js +12 -16
- package/dist/core/modules/ai/providers/openai-compatible.provider.js.map +1 -1
- package/dist/core/modules/ai/services/ai-crypto.service.js +15 -18
- package/dist/core/modules/ai/services/ai-crypto.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-budget.service.d.ts +8 -8
- package/dist/core/modules/ai/services/core-ai-budget.service.js +22 -28
- 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 +5 -5
- package/dist/core/modules/ai/services/core-ai-connection-preference.service.js +14 -19
- package/dist/core/modules/ai/services/core-ai-connection-preference.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-connection-resolver.service.d.ts +5 -5
- package/dist/core/modules/ai/services/core-ai-connection-resolver.service.js +17 -20
- package/dist/core/modules/ai/services/core-ai-connection-resolver.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-connection.service.d.ts +11 -11
- package/dist/core/modules/ai/services/core-ai-connection.service.js +27 -32
- 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 +8 -8
- package/dist/core/modules/ai/services/core-ai-conversation.service.js +18 -23
- 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 +5 -5
- package/dist/core/modules/ai/services/core-ai-interaction.service.js +13 -18
- package/dist/core/modules/ai/services/core-ai-interaction.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-mcp-client.service.d.ts +3 -3
- package/dist/core/modules/ai/services/core-ai-mcp-client.service.js +9 -12
- package/dist/core/modules/ai/services/core-ai-mcp-client.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.d.ts +28 -4
- package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.js +44 -48
- package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-mcp.service.d.ts +1 -1
- package/dist/core/modules/ai/services/core-ai-mcp.service.js +9 -12
- package/dist/core/modules/ai/services/core-ai-mcp.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-mode.service.d.ts +4 -4
- package/dist/core/modules/ai/services/core-ai-mode.service.js +14 -19
- package/dist/core/modules/ai/services/core-ai-mode.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-placeholder.registry.d.ts +2 -2
- package/dist/core/modules/ai/services/core-ai-placeholder.registry.js +9 -12
- package/dist/core/modules/ai/services/core-ai-placeholder.registry.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-prompt-builder.service.d.ts +5 -5
- package/dist/core/modules/ai/services/core-ai-prompt-builder.service.js +20 -23
- package/dist/core/modules/ai/services/core-ai-prompt-builder.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai-prompt-hint.service.d.ts +6 -6
- package/dist/core/modules/ai/services/core-ai-prompt-hint.service.js +16 -21
- 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 +7 -7
- package/dist/core/modules/ai/services/core-ai-prompt.service.js +26 -31
- 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 +7 -7
- package/dist/core/modules/ai/services/core-ai-slot.service.js +25 -31
- 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 +4 -4
- package/dist/core/modules/ai/services/core-ai-tool-grant.service.js +14 -19
- 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 +4 -4
- package/dist/core/modules/ai/services/core-ai-tool-policy.service.js +14 -19
- package/dist/core/modules/ai/services/core-ai-tool-policy.service.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai.service.d.ts +27 -27
- package/dist/core/modules/ai/services/core-ai.service.js +82 -85
- package/dist/core/modules/ai/services/core-ai.service.js.map +1 -1
- package/dist/core/modules/ai/tools/ai-tool.base.d.ts +3 -3
- package/dist/core/modules/ai/tools/ai-tool.base.js +7 -10
- package/dist/core/modules/ai/tools/ai-tool.base.js.map +1 -1
- package/dist/core/modules/ai/tools/ai-tool.registry.d.ts +1 -1
- package/dist/core/modules/ai/tools/ai-tool.registry.js +25 -28
- package/dist/core/modules/ai/tools/ai-tool.registry.js.map +1 -1
- package/dist/core/modules/ai/tools/ask-user-question.tool.d.ts +4 -4
- package/dist/core/modules/ai/tools/ask-user-question.tool.js +12 -15
- package/dist/core/modules/ai/tools/ask-user-question.tool.js.map +1 -1
- package/dist/core/modules/ai/tools/search-tools.tool.d.ts +4 -4
- package/dist/core/modules/ai/tools/search-tools.tool.js +10 -13
- package/dist/core/modules/ai/tools/search-tools.tool.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.constants.js +4 -7
- package/dist/core/modules/api-token/core-api-token.constants.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.decorators.js +3 -7
- package/dist/core/modules/api-token/core-api-token.decorators.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.helpers.d.ts +2 -2
- package/dist/core/modules/api-token/core-api-token.helpers.js +79 -109
- package/dist/core/modules/api-token/core-api-token.helpers.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.middleware.d.ts +1 -1
- package/dist/core/modules/api-token/core-api-token.middleware.js +15 -18
- package/dist/core/modules/api-token/core-api-token.middleware.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.model.d.ts +2 -2
- package/dist/core/modules/api-token/core-api-token.model.js +59 -62
- package/dist/core/modules/api-token/core-api-token.model.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.module.d.ts +2 -2
- package/dist/core/modules/api-token/core-api-token.module.js +15 -18
- package/dist/core/modules/api-token/core-api-token.module.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.registry.js +2 -6
- package/dist/core/modules/api-token/core-api-token.registry.js.map +1 -1
- package/dist/core/modules/api-token/core-api-token.service.d.ts +8 -8
- package/dist/core/modules/api-token/core-api-token.service.js +103 -108
- package/dist/core/modules/api-token/core-api-token.service.js.map +1 -1
- package/dist/core/modules/auth/auth-guard-strategy.enum.js +2 -5
- package/dist/core/modules/auth/auth-guard-strategy.enum.js.map +1 -1
- package/dist/core/modules/auth/core-auth.controller.d.ts +7 -7
- package/dist/core/modules/auth/core-auth.controller.js +71 -74
- package/dist/core/modules/auth/core-auth.controller.js.map +1 -1
- package/dist/core/modules/auth/core-auth.model.d.ts +2 -2
- package/dist/core/modules/auth/core-auth.model.js +19 -22
- package/dist/core/modules/auth/core-auth.model.js.map +1 -1
- package/dist/core/modules/auth/core-auth.module.d.ts +4 -4
- package/dist/core/modules/auth/core-auth.module.js +45 -48
- package/dist/core/modules/auth/core-auth.module.js.map +1 -1
- package/dist/core/modules/auth/core-auth.resolver.d.ts +7 -7
- package/dist/core/modules/auth/core-auth.resolver.js +54 -57
- package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
- package/dist/core/modules/auth/core-legacy-auth-deprecation.initializer.d.ts +2 -2
- package/dist/core/modules/auth/core-legacy-auth-deprecation.initializer.js +18 -16
- package/dist/core/modules/auth/core-legacy-auth-deprecation.initializer.js.map +1 -1
- package/dist/core/modules/auth/exceptions/expired-refresh-token.exception.js +2 -6
- package/dist/core/modules/auth/exceptions/expired-refresh-token.exception.js.map +1 -1
- package/dist/core/modules/auth/exceptions/expired-token.exception.js +2 -6
- package/dist/core/modules/auth/exceptions/expired-token.exception.js.map +1 -1
- package/dist/core/modules/auth/exceptions/invalid-token.exception.js +2 -6
- package/dist/core/modules/auth/exceptions/invalid-token.exception.js.map +1 -1
- package/dist/core/modules/auth/exceptions/legacy-auth-disabled.exception.js +2 -6
- package/dist/core/modules/auth/exceptions/legacy-auth-disabled.exception.js.map +1 -1
- package/dist/core/modules/auth/guards/auth.guard.d.ts +1 -1
- package/dist/core/modules/auth/guards/auth.guard.js +56 -46
- package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
- package/dist/core/modules/auth/guards/legacy-auth-rate-limit.guard.d.ts +1 -1
- package/dist/core/modules/auth/guards/legacy-auth-rate-limit.guard.js +11 -14
- package/dist/core/modules/auth/guards/legacy-auth-rate-limit.guard.js.map +1 -1
- package/dist/core/modules/auth/guards/refresh-token.guard.d.ts +1 -1
- package/dist/core/modules/auth/guards/refresh-token.guard.js +6 -9
- package/dist/core/modules/auth/guards/refresh-token.guard.js.map +1 -1
- package/dist/core/modules/auth/guards/roles-guard-registry.js +3 -7
- package/dist/core/modules/auth/guards/roles-guard-registry.js.map +1 -1
- package/dist/core/modules/auth/guards/roles.guard.d.ts +2 -2
- package/dist/core/modules/auth/guards/roles.guard.js +52 -55
- package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
- package/dist/core/modules/auth/helpers/legacy-endpoints.helper.d.ts +1 -1
- package/dist/core/modules/auth/helpers/legacy-endpoints.helper.js +1 -4
- package/dist/core/modules/auth/helpers/legacy-endpoints.helper.js.map +1 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.d.ts +1 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js +23 -26
- package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js.map +1 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.d.ts +1 -1
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js +9 -12
- package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js.map +1 -1
- package/dist/core/modules/auth/interfaces/auth-provider.interface.d.ts +1 -1
- package/dist/core/modules/auth/interfaces/auth-provider.interface.js +1 -4
- package/dist/core/modules/auth/interfaces/auth-provider.interface.js.map +1 -1
- package/dist/core/modules/auth/interfaces/core-auth-user.interface.d.ts +1 -1
- package/dist/core/modules/auth/interfaces/core-auth-user.interface.js +1 -2
- package/dist/core/modules/auth/interfaces/core-token-data.interface.js +1 -2
- package/dist/core/modules/auth/interfaces/jwt-payload.interface.js +1 -2
- package/dist/core/modules/auth/services/core-auth-user.service.d.ts +2 -2
- package/dist/core/modules/auth/services/core-auth-user.service.js +1 -5
- package/dist/core/modules/auth/services/core-auth-user.service.js.map +1 -1
- package/dist/core/modules/auth/services/core-auth.service.d.ts +10 -10
- package/dist/core/modules/auth/services/core-auth.service.js +50 -53
- package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
- package/dist/core/modules/auth/services/legacy-auth-rate-limiter.service.d.ts +3 -3
- package/dist/core/modules/auth/services/legacy-auth-rate-limiter.service.js +15 -18
- package/dist/core/modules/auth/services/legacy-auth-rate-limiter.service.js.map +1 -1
- package/dist/core/modules/auth/strategies/jwt-refresh.strategy.d.ts +2 -2
- package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js +15 -18
- package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js.map +1 -1
- package/dist/core/modules/auth/strategies/jwt.strategy.d.ts +3 -3
- package/dist/core/modules/auth/strategies/jwt.strategy.js +15 -18
- package/dist/core/modules/auth/strategies/jwt.strategy.js.map +1 -1
- package/dist/core/modules/auth/tokens.decorator.d.ts +1 -1
- package/dist/core/modules/auth/tokens.decorator.js +4 -7
- package/dist/core/modules/auth/tokens.decorator.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth-cookie-prefix.helper.js +3 -8
- package/dist/core/modules/better-auth/better-auth-cookie-prefix.helper.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth-roles.guard.js +30 -33
- package/dist/core/modules/better-auth/better-auth-roles.guard.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth-token.service.d.ts +3 -3
- package/dist/core/modules/better-auth/better-auth-token.service.js +16 -20
- 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 +3 -2
- package/dist/core/modules/better-auth/better-auth.config.js +84 -58
- package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.resolver.d.ts +7 -7
- package/dist/core/modules/better-auth/better-auth.resolver.js +69 -72
- package/dist/core/modules/better-auth/better-auth.resolver.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.types.d.ts +1 -1
- package/dist/core/modules/better-auth/better-auth.types.js +5 -12
- package/dist/core/modules/better-auth/better-auth.types.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-account-issuer.helper.js +3 -7
- package/dist/core/modules/better-auth/core-better-auth-account-issuer.helper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.d.ts +10 -3
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.js +73 -39
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-auth.model.d.ts +1 -1
- package/dist/core/modules/better-auth/core-better-auth-auth.model.js +17 -20
- package/dist/core/modules/better-auth/core-better-auth-auth.model.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-challenge.service.d.ts +2 -2
- package/dist/core/modules/better-auth/core-better-auth-challenge.service.js +12 -17
- package/dist/core/modules/better-auth/core-better-auth-challenge.service.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-cookie.helper.js +15 -20
- package/dist/core/modules/better-auth/core-better-auth-cookie.helper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.d.ts +8 -8
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js +39 -37
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-error-codes.helper.js +13 -17
- package/dist/core/modules/better-auth/core-better-auth-error-codes.helper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-migration-status.model.js +12 -15
- package/dist/core/modules/better-auth/core-better-auth-migration-status.model.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-models.js +62 -65
- package/dist/core/modules/better-auth/core-better-auth-models.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-openapi.helper.d.ts +1 -1
- package/dist/core/modules/better-auth/core-better-auth-openapi.helper.js +15 -25
- package/dist/core/modules/better-auth/core-better-auth-openapi.helper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-password-reset.registry.js +4 -8
- package/dist/core/modules/better-auth/core-better-auth-password-reset.registry.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.d.ts +2 -2
- package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.js +11 -14
- package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.d.ts +3 -3
- package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.js +13 -16
- package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.d.ts +2 -2
- package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.js +10 -13
- package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-token.helper.js +9 -19
- package/dist/core/modules/better-auth/core-better-auth-token.helper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.d.ts +1 -1
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.js +42 -37
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-web.helper.js +23 -34
- package/dist/core/modules/better-auth/core-better-auth-web.helper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.constants.js +8 -11
- package/dist/core/modules/better-auth/core-better-auth.constants.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.controller.d.ts +7 -7
- package/dist/core/modules/better-auth/core-better-auth.controller.js +151 -157
- package/dist/core/modules/better-auth/core-better-auth.controller.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.middleware.d.ts +2 -2
- package/dist/core/modules/better-auth/core-better-auth.middleware.js +17 -20
- package/dist/core/modules/better-auth/core-better-auth.middleware.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.module.d.ts +10 -10
- package/dist/core/modules/better-auth/core-better-auth.module.js +146 -150
- package/dist/core/modules/better-auth/core-better-auth.module.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.registry.d.ts +5 -1
- package/dist/core/modules/better-auth/core-better-auth.registry.js +18 -8
- package/dist/core/modules/better-auth/core-better-auth.registry.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.resolver.d.ts +7 -7
- package/dist/core/modules/better-auth/core-better-auth.resolver.js +127 -128
- package/dist/core/modules/better-auth/core-better-auth.resolver.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.service.d.ts +7 -7
- package/dist/core/modules/better-auth/core-better-auth.service.js +67 -73
- package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -1
- package/dist/core/modules/better-auth/index.d.ts +24 -24
- package/dist/core/modules/better-auth/index.js +24 -40
- package/dist/core/modules/better-auth/index.js.map +1 -1
- package/dist/core/modules/error-code/core-error-code.controller.d.ts +2 -2
- package/dist/core/modules/error-code/core-error-code.controller.js +12 -15
- package/dist/core/modules/error-code/core-error-code.controller.js.map +1 -1
- package/dist/core/modules/error-code/core-error-code.service.d.ts +2 -2
- package/dist/core/modules/error-code/core-error-code.service.js +6 -9
- package/dist/core/modules/error-code/core-error-code.service.js.map +1 -1
- package/dist/core/modules/error-code/error-code.module.d.ts +1 -1
- package/dist/core/modules/error-code/error-code.module.js +16 -19
- package/dist/core/modules/error-code/error-code.module.js.map +1 -1
- package/dist/core/modules/error-code/error-codes.js +6 -11
- package/dist/core/modules/error-code/error-codes.js.map +1 -1
- package/dist/core/modules/error-code/index.d.ts +5 -5
- package/dist/core/modules/error-code/index.js +5 -21
- package/dist/core/modules/error-code/index.js.map +1 -1
- package/dist/core/modules/error-code/interfaces/error-code.interfaces.d.ts +2 -2
- package/dist/core/modules/error-code/interfaces/error-code.interfaces.js +1 -2
- package/dist/core/modules/file/core-file-access-audit.initializer.d.ts +1 -1
- package/dist/core/modules/file/core-file-access-audit.initializer.js +20 -23
- package/dist/core/modules/file/core-file-access-audit.initializer.js.map +1 -1
- package/dist/core/modules/file/core-file-info.model.d.ts +1 -1
- package/dist/core/modules/file/core-file-info.model.js +25 -28
- package/dist/core/modules/file/core-file-info.model.js.map +1 -1
- package/dist/core/modules/file/core-file.controller.d.ts +3 -3
- package/dist/core/modules/file/core-file.controller.js +35 -39
- package/dist/core/modules/file/core-file.controller.js.map +1 -1
- package/dist/core/modules/file/core-file.resolver.d.ts +2 -2
- package/dist/core/modules/file/core-file.resolver.js +30 -33
- package/dist/core/modules/file/core-file.resolver.js.map +1 -1
- package/dist/core/modules/file/core-file.service.d.ts +11 -11
- package/dist/core/modules/file/core-file.service.js +85 -89
- package/dist/core/modules/file/core-file.service.js.map +1 -1
- package/dist/core/modules/file/file-access.helper.js +5 -10
- package/dist/core/modules/file/file-access.helper.js.map +1 -1
- package/dist/core/modules/file/file-metadata.helper.js +6 -12
- package/dist/core/modules/file/file-metadata.helper.js.map +1 -1
- package/dist/core/modules/file/file-roles.config.d.ts +1 -1
- package/dist/core/modules/file/file-roles.config.js +19 -27
- package/dist/core/modules/file/file-roles.config.js.map +1 -1
- package/dist/core/modules/file/file-roles.helper.d.ts +3 -3
- package/dist/core/modules/file/file-roles.helper.js +11 -21
- package/dist/core/modules/file/file-roles.helper.js.map +1 -1
- package/dist/core/modules/file/file-storage.helper.d.ts +1 -1
- package/dist/core/modules/file/file-storage.helper.js +10 -18
- 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 +26 -30
- package/dist/core/modules/file/filesystem-file.helper.js.map +1 -1
- package/dist/core/modules/file/interfaces/file-service-options.interface.js +1 -2
- package/dist/core/modules/file/interfaces/file-upload.interface.d.ts +1 -1
- package/dist/core/modules/file/interfaces/file-upload.interface.js +1 -2
- package/dist/core/modules/file/s3-file.helper.d.ts +2 -2
- package/dist/core/modules/file/s3-file.helper.js +14 -20
- package/dist/core/modules/file/s3-file.helper.js.map +1 -1
- package/dist/core/modules/health-check/core-health-check-result.model.d.ts +2 -2
- package/dist/core/modules/health-check/core-health-check-result.model.js +25 -28
- package/dist/core/modules/health-check/core-health-check-result.model.js.map +1 -1
- package/dist/core/modules/health-check/core-health-check.controller.d.ts +1 -1
- package/dist/core/modules/health-check/core-health-check.controller.js +11 -14
- package/dist/core/modules/health-check/core-health-check.controller.js.map +1 -1
- package/dist/core/modules/health-check/core-health-check.module.js +11 -14
- package/dist/core/modules/health-check/core-health-check.module.js.map +1 -1
- package/dist/core/modules/health-check/core-health-check.resolver.d.ts +1 -1
- package/dist/core/modules/health-check/core-health-check.resolver.js +12 -15
- package/dist/core/modules/health-check/core-health-check.resolver.js.map +1 -1
- package/dist/core/modules/health-check/core-health-check.service.d.ts +1 -1
- package/dist/core/modules/health-check/core-health-check.service.js +18 -17
- package/dist/core/modules/health-check/core-health-check.service.js.map +1 -1
- package/dist/core/modules/hub/core-hub-actions.controller.d.ts +1 -1
- package/dist/core/modules/hub/core-hub-actions.controller.js +36 -39
- package/dist/core/modules/hub/core-hub-actions.controller.js.map +1 -1
- package/dist/core/modules/hub/core-hub-html.service.d.ts +1 -1
- package/dist/core/modules/hub/core-hub-html.service.js +15 -18
- package/dist/core/modules/hub/core-hub-html.service.js.map +1 -1
- package/dist/core/modules/hub/core-hub.controller.d.ts +11 -11
- package/dist/core/modules/hub/core-hub.controller.js +100 -103
- package/dist/core/modules/hub/core-hub.controller.js.map +1 -1
- package/dist/core/modules/hub/core-hub.module.d.ts +2 -2
- package/dist/core/modules/hub/core-hub.module.js +53 -56
- package/dist/core/modules/hub/core-hub.module.js.map +1 -1
- package/dist/core/modules/hub/core-hub.service.d.ts +5 -5
- package/dist/core/modules/hub/core-hub.service.js +20 -25
- package/dist/core/modules/hub/core-hub.service.js.map +1 -1
- package/dist/core/modules/hub/helpers/hub-client-js.helper.js +1 -4
- package/dist/core/modules/hub/helpers/hub-client-js.helper.js.map +1 -1
- package/dist/core/modules/hub/helpers/hub-command-shape.helper.js +1 -4
- package/dist/core/modules/hub/helpers/hub-command-shape.helper.js.map +1 -1
- package/dist/core/modules/hub/helpers/hub-mask.helper.js +1 -4
- package/dist/core/modules/hub/helpers/hub-mask.helper.js.map +1 -1
- package/dist/core/modules/hub/helpers/hub-mermaid.helper.js +1 -4
- package/dist/core/modules/hub/helpers/hub-mermaid.helper.js.map +1 -1
- package/dist/core/modules/hub/helpers/hub-shell.helper.js +10 -19
- package/dist/core/modules/hub/helpers/hub-shell.helper.js.map +1 -1
- package/dist/core/modules/hub/hub-action-messages.js +1 -4
- package/dist/core/modules/hub/hub-action-messages.js.map +1 -1
- package/dist/core/modules/hub/hub-buffer.d.ts +2 -2
- package/dist/core/modules/hub/hub-buffer.js +3 -7
- package/dist/core/modules/hub/hub-buffer.js.map +1 -1
- package/dist/core/modules/hub/hub-config.helper.d.ts +1 -1
- package/dist/core/modules/hub/hub-config.helper.js +23 -29
- package/dist/core/modules/hub/hub-config.helper.js.map +1 -1
- package/dist/core/modules/hub/hub-nav.js +4 -8
- package/dist/core/modules/hub/hub-nav.js.map +1 -1
- package/dist/core/modules/hub/hub-ring-buffer.js +1 -5
- package/dist/core/modules/hub/hub-ring-buffer.js.map +1 -1
- package/dist/core/modules/hub/hub.constants.js +18 -21
- package/dist/core/modules/hub/hub.constants.js.map +1 -1
- package/dist/core/modules/hub/index.d.ts +25 -25
- package/dist/core/modules/hub/index.js +25 -41
- package/dist/core/modules/hub/index.js.map +1 -1
- package/dist/core/modules/hub/interfaces/hub-config.interface.js +1 -2
- package/dist/core/modules/hub/interfaces/hub-panels.interface.js +1 -2
- package/dist/core/modules/hub/middleware/hub-trace.middleware.d.ts +1 -1
- package/dist/core/modules/hub/middleware/hub-trace.middleware.js +6 -9
- package/dist/core/modules/hub/middleware/hub-trace.middleware.js.map +1 -1
- package/dist/core/modules/hub/services/core-hub-actions.service.d.ts +10 -10
- package/dist/core/modules/hub/services/core-hub-actions.service.js +30 -33
- package/dist/core/modules/hub/services/core-hub-actions.service.js.map +1 -1
- package/dist/core/modules/hub/services/core-hub-db.service.d.ts +5 -5
- package/dist/core/modules/hub/services/core-hub-db.service.js +35 -39
- package/dist/core/modules/hub/services/core-hub-db.service.js.map +1 -1
- package/dist/core/modules/hub/services/core-hub-email.service.d.ts +4 -4
- package/dist/core/modules/hub/services/core-hub-email.service.js +20 -22
- package/dist/core/modules/hub/services/core-hub-email.service.js.map +1 -1
- package/dist/core/modules/hub/services/core-hub-mailbox.service.d.ts +4 -4
- package/dist/core/modules/hub/services/core-hub-mailbox.service.js +13 -16
- package/dist/core/modules/hub/services/core-hub-mailbox.service.js.map +1 -1
- package/dist/core/modules/hub/services/core-hub-migrations.service.d.ts +5 -5
- package/dist/core/modules/hub/services/core-hub-migrations.service.js +25 -30
- 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 +1 -1
- package/dist/core/modules/hub/services/core-hub-sources.service.js +26 -27
- package/dist/core/modules/hub/services/core-hub-sources.service.js.map +1 -1
- package/dist/core/modules/hub/services/hub-log-buffer.service.d.ts +3 -3
- package/dist/core/modules/hub/services/hub-log-buffer.service.js +20 -23
- package/dist/core/modules/hub/services/hub-log-buffer.service.js.map +1 -1
- package/dist/core/modules/hub/services/hub-query-profiler.service.d.ts +4 -4
- package/dist/core/modules/hub/services/hub-query-profiler.service.js +20 -25
- package/dist/core/modules/hub/services/hub-query-profiler.service.js.map +1 -1
- package/dist/core/modules/hub/services/hub-trace-buffer.service.d.ts +3 -3
- package/dist/core/modules/hub/services/hub-trace-buffer.service.js +11 -14
- package/dist/core/modules/hub/services/hub-trace-buffer.service.js.map +1 -1
- package/dist/core/modules/migrate/cli/migrate-cli.d.ts +4 -1
- package/dist/core/modules/migrate/cli/migrate-cli.js +38 -18
- package/dist/core/modules/migrate/cli/migrate-cli.js.map +1 -1
- package/dist/core/modules/migrate/helpers/migration.helper.d.ts +1 -11
- package/dist/core/modules/migrate/helpers/migration.helper.js +14 -108
- package/dist/core/modules/migrate/helpers/migration.helper.js.map +1 -1
- package/dist/core/modules/migrate/helpers/package.json +3 -0
- package/dist/core/modules/migrate/helpers/ts-compiler-hooks.d.mts +2 -0
- package/dist/core/modules/migrate/helpers/ts-compiler-hooks.mjs +73 -0
- package/dist/core/modules/migrate/helpers/ts-compiler-hooks.mjs.map +1 -0
- package/dist/core/modules/migrate/helpers/ts-compiler.cjs +96 -0
- package/dist/core/modules/migrate/helpers/ts-compiler.cjs.map +1 -0
- package/dist/core/modules/migrate/helpers/ts-compiler.d.cts +32 -0
- package/dist/core/modules/migrate/helpers/ts-compiler.d.ts +1 -1
- package/dist/core/modules/migrate/helpers/ts-compiler.js +2 -2
- package/dist/core/modules/migrate/helpers/ts-compiler.js.map +1 -1
- package/dist/core/modules/migrate/index.d.ts +4 -4
- package/dist/core/modules/migrate/index.js +4 -20
- package/dist/core/modules/migrate/index.js.map +1 -1
- package/dist/core/modules/migrate/migration-runner.d.ts +1 -1
- package/dist/core/modules/migrate/migration-runner.js +13 -19
- package/dist/core/modules/migrate/migration-runner.js.map +1 -1
- package/dist/core/modules/migrate/migration.helper.d.ts +11 -0
- package/dist/core/modules/migrate/migration.helper.js +116 -0
- package/dist/core/modules/migrate/migration.helper.js.map +1 -0
- package/dist/core/modules/migrate/mongo-state-store.js +13 -20
- package/dist/core/modules/migrate/mongo-state-store.js.map +1 -1
- package/dist/core/modules/migrate/templates/migration-project.template.ts +29 -12
- package/dist/core/modules/permissions/core-permissions.controller.d.ts +2 -2
- package/dist/core/modules/permissions/core-permissions.controller.js +13 -16
- package/dist/core/modules/permissions/core-permissions.controller.js.map +1 -1
- package/dist/core/modules/permissions/core-permissions.module.d.ts +1 -1
- package/dist/core/modules/permissions/core-permissions.module.js +14 -17
- package/dist/core/modules/permissions/core-permissions.module.js.map +1 -1
- package/dist/core/modules/permissions/core-permissions.service.d.ts +1 -1
- package/dist/core/modules/permissions/core-permissions.service.js +17 -20
- package/dist/core/modules/permissions/core-permissions.service.js.map +1 -1
- package/dist/core/modules/permissions/interfaces/permissions.interface.js +1 -2
- package/dist/core/modules/permissions/permissions-scanner.d.ts +1 -1
- package/dist/core/modules/permissions/permissions-scanner.js +62 -84
- package/dist/core/modules/permissions/permissions-scanner.js.map +1 -1
- package/dist/core/modules/system-setup/core-system-setup.controller.d.ts +1 -1
- package/dist/core/modules/system-setup/core-system-setup.controller.js +34 -38
- package/dist/core/modules/system-setup/core-system-setup.controller.js.map +1 -1
- package/dist/core/modules/system-setup/core-system-setup.module.js +8 -11
- package/dist/core/modules/system-setup/core-system-setup.module.js.map +1 -1
- package/dist/core/modules/system-setup/core-system-setup.service.d.ts +4 -4
- package/dist/core/modules/system-setup/core-system-setup.service.js +26 -31
- package/dist/core/modules/system-setup/core-system-setup.service.js.map +1 -1
- package/dist/core/modules/tenant/core-role-scope.registry.js +12 -16
- package/dist/core/modules/tenant/core-role-scope.registry.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant-guard.registry.js +2 -6
- package/dist/core/modules/tenant/core-tenant-guard.registry.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant-member.model.d.ts +2 -2
- package/dist/core/modules/tenant/core-tenant-member.model.js +34 -37
- package/dist/core/modules/tenant/core-tenant-member.model.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant-role.helper.js +13 -17
- package/dist/core/modules/tenant/core-tenant-role.helper.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.decorators.js +6 -10
- package/dist/core/modules/tenant/core-tenant.decorators.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.enums.js +6 -10
- package/dist/core/modules/tenant/core-tenant.enums.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.guard.d.ts +8 -3
- package/dist/core/modules/tenant/core-tenant.guard.js +105 -102
- package/dist/core/modules/tenant/core-tenant.guard.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.helpers.d.ts +2 -2
- package/dist/core/modules/tenant/core-tenant.helpers.js +33 -53
- package/dist/core/modules/tenant/core-tenant.helpers.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.module.d.ts +2 -2
- package/dist/core/modules/tenant/core-tenant.module.js +31 -34
- package/dist/core/modules/tenant/core-tenant.module.js.map +1 -1
- package/dist/core/modules/tenant/core-tenant.service.d.ts +2 -2
- package/dist/core/modules/tenant/core-tenant.service.js +49 -53
- package/dist/core/modules/tenant/core-tenant.service.js.map +1 -1
- package/dist/core/modules/tus/core-tus.controller.d.ts +2 -2
- package/dist/core/modules/tus/core-tus.controller.js +31 -34
- package/dist/core/modules/tus/core-tus.controller.js.map +1 -1
- package/dist/core/modules/tus/core-tus.service.d.ts +5 -5
- package/dist/core/modules/tus/core-tus.service.js +58 -61
- package/dist/core/modules/tus/core-tus.service.js.map +1 -1
- package/dist/core/modules/tus/index.d.ts +5 -5
- package/dist/core/modules/tus/index.js +5 -21
- package/dist/core/modules/tus/index.js.map +1 -1
- package/dist/core/modules/tus/interfaces/tus-config.interface.d.ts +2 -2
- package/dist/core/modules/tus/interfaces/tus-config.interface.js +10 -15
- package/dist/core/modules/tus/interfaces/tus-config.interface.js.map +1 -1
- package/dist/core/modules/tus/tus-redis-locker.d.ts +1 -1
- package/dist/core/modules/tus/tus-redis-locker.js +6 -11
- package/dist/core/modules/tus/tus-redis-locker.js.map +1 -1
- package/dist/core/modules/tus/tus.constants.js +4 -7
- package/dist/core/modules/tus/tus.constants.js.map +1 -1
- package/dist/core/modules/tus/tus.module.d.ts +4 -4
- package/dist/core/modules/tus/tus.module.js +39 -43
- package/dist/core/modules/tus/tus.module.js.map +1 -1
- package/dist/core/modules/user/core-user.model.d.ts +2 -2
- package/dist/core/modules/user/core-user.model.js +50 -53
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +9 -9
- package/dist/core/modules/user/core-user.service.js +53 -57
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core/modules/user/inputs/core-user-create.input.d.ts +1 -1
- package/dist/core/modules/user/inputs/core-user-create.input.js +14 -17
- package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
- package/dist/core/modules/user/inputs/core-user.input.d.ts +1 -1
- package/dist/core/modules/user/inputs/core-user.input.js +28 -31
- package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
- package/dist/core/modules/user/interfaces/core-user-service-options.interface.d.ts +1 -1
- package/dist/core/modules/user/interfaces/core-user-service-options.interface.js +1 -2
- package/dist/core.module.d.ts +1 -1
- package/dist/core.module.js +144 -219
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +204 -203
- package/dist/index.js +204 -219
- package/dist/index.js.map +1 -1
- package/dist/main.js +40 -42
- package/dist/main.js.map +1 -1
- package/dist/server/common/models/persistence.model.d.ts +1 -1
- package/dist/server/common/models/persistence.model.js +21 -24
- package/dist/server/common/models/persistence.model.js.map +1 -1
- package/dist/server/common/services/cron-jobs.service.d.ts +5 -3
- package/dist/server/common/services/cron-jobs.service.js +14 -18
- package/dist/server/common/services/cron-jobs.service.js.map +1 -1
- package/dist/server/modules/ai/ai-tools.module.d.ts +1 -1
- package/dist/server/modules/ai/ai-tools.module.js +15 -18
- package/dist/server/modules/ai/ai-tools.module.js.map +1 -1
- package/dist/server/modules/ai/tools/delete-user.tool.d.ts +5 -5
- package/dist/server/modules/ai/tools/delete-user.tool.js +13 -16
- package/dist/server/modules/ai/tools/delete-user.tool.js.map +1 -1
- package/dist/server/modules/ai/tools/find-users.tool.d.ts +6 -6
- package/dist/server/modules/ai/tools/find-users.tool.js +12 -15
- package/dist/server/modules/ai/tools/find-users.tool.js.map +1 -1
- package/dist/server/modules/ai/tools/get-user.tool.d.ts +6 -6
- package/dist/server/modules/ai/tools/get-user.tool.js +13 -16
- package/dist/server/modules/ai/tools/get-user.tool.js.map +1 -1
- package/dist/server/modules/ai/tools/update-user-job-title.tool.d.ts +6 -6
- package/dist/server/modules/ai/tools/update-user-job-title.tool.js +16 -19
- package/dist/server/modules/ai/tools/update-user-job-title.tool.js.map +1 -1
- package/dist/server/modules/auth/auth.controller.d.ts +3 -3
- package/dist/server/modules/auth/auth.controller.js +13 -16
- package/dist/server/modules/auth/auth.controller.js.map +1 -1
- package/dist/server/modules/auth/auth.model.d.ts +2 -2
- package/dist/server/modules/auth/auth.model.js +17 -20
- package/dist/server/modules/auth/auth.model.js.map +1 -1
- package/dist/server/modules/auth/auth.module.js +15 -18
- package/dist/server/modules/auth/auth.module.js.map +1 -1
- package/dist/server/modules/auth/auth.resolver.d.ts +7 -7
- package/dist/server/modules/auth/auth.resolver.js +30 -33
- package/dist/server/modules/auth/auth.resolver.js.map +1 -1
- package/dist/server/modules/auth/auth.service.d.ts +8 -8
- package/dist/server/modules/auth/auth.service.js +17 -20
- package/dist/server/modules/auth/auth.service.js.map +1 -1
- package/dist/server/modules/auth/inputs/auth-sign-in.input.d.ts +1 -1
- package/dist/server/modules/auth/inputs/auth-sign-in.input.js +9 -12
- package/dist/server/modules/auth/inputs/auth-sign-in.input.js.map +1 -1
- package/dist/server/modules/auth/inputs/auth-sign-up.input.d.ts +1 -1
- package/dist/server/modules/auth/inputs/auth-sign-up.input.js +14 -17
- package/dist/server/modules/auth/inputs/auth-sign-up.input.js.map +1 -1
- package/dist/server/modules/better-auth/better-auth.controller.d.ts +6 -6
- package/dist/server/modules/better-auth/better-auth.controller.js +21 -24
- package/dist/server/modules/better-auth/better-auth.controller.js.map +1 -1
- package/dist/server/modules/better-auth/better-auth.module.d.ts +1 -1
- package/dist/server/modules/better-auth/better-auth.module.js +11 -14
- package/dist/server/modules/better-auth/better-auth.module.js.map +1 -1
- package/dist/server/modules/better-auth/better-auth.resolver.d.ts +8 -8
- package/dist/server/modules/better-auth/better-auth.resolver.js +75 -78
- package/dist/server/modules/better-auth/better-auth.resolver.js.map +1 -1
- package/dist/server/modules/error-code/error-code.controller.d.ts +2 -2
- package/dist/server/modules/error-code/error-code.controller.js +14 -17
- package/dist/server/modules/error-code/error-code.controller.js.map +1 -1
- package/dist/server/modules/error-code/error-code.service.d.ts +1 -1
- package/dist/server/modules/error-code/error-code.service.js +8 -11
- package/dist/server/modules/error-code/error-code.service.js.map +1 -1
- package/dist/server/modules/error-code/error-codes.js +3 -6
- package/dist/server/modules/error-code/error-codes.js.map +1 -1
- package/dist/server/modules/error-code/index.d.ts +3 -3
- package/dist/server/modules/error-code/index.js +3 -19
- package/dist/server/modules/error-code/index.js.map +1 -1
- package/dist/server/modules/file/file-info.model.d.ts +1 -1
- package/dist/server/modules/file/file-info.model.js +12 -15
- package/dist/server/modules/file/file-info.model.js.map +1 -1
- package/dist/server/modules/file/file.controller.d.ts +4 -4
- package/dist/server/modules/file/file.controller.js +26 -29
- package/dist/server/modules/file/file.controller.js.map +1 -1
- package/dist/server/modules/file/file.module.js +16 -19
- package/dist/server/modules/file/file.module.js.map +1 -1
- package/dist/server/modules/file/file.resolver.d.ts +5 -5
- package/dist/server/modules/file/file.resolver.js +23 -26
- package/dist/server/modules/file/file.resolver.js.map +1 -1
- package/dist/server/modules/file/file.service.d.ts +6 -6
- package/dist/server/modules/file/file.service.js +15 -20
- package/dist/server/modules/file/file.service.js.map +1 -1
- package/dist/server/modules/file/multer-config.service.js +6 -9
- package/dist/server/modules/file/multer-config.service.js.map +1 -1
- package/dist/server/modules/user/avatar.controller.d.ts +3 -3
- package/dist/server/modules/user/avatar.controller.js +25 -29
- package/dist/server/modules/user/avatar.controller.js.map +1 -1
- package/dist/server/modules/user/inputs/user-create.input.d.ts +1 -1
- package/dist/server/modules/user/inputs/user-create.input.js +12 -15
- package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
- package/dist/server/modules/user/inputs/user.input.d.ts +1 -1
- package/dist/server/modules/user/inputs/user.input.js +12 -15
- package/dist/server/modules/user/inputs/user.input.js.map +1 -1
- package/dist/server/modules/user/outputs/find-and-count-users-result.output.d.ts +2 -2
- package/dist/server/modules/user/outputs/find-and-count-users-result.output.js +16 -19
- package/dist/server/modules/user/outputs/find-and-count-users-result.output.js.map +1 -1
- package/dist/server/modules/user/user.controller.d.ts +5 -5
- package/dist/server/modules/user/user.controller.js +100 -103
- package/dist/server/modules/user/user.controller.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +3 -3
- package/dist/server/modules/user/user.model.js +36 -39
- package/dist/server/modules/user/user.model.js.map +1 -1
- package/dist/server/modules/user/user.module.js +24 -27
- package/dist/server/modules/user/user.module.js.map +1 -1
- package/dist/server/modules/user/user.resolver.d.ts +8 -8
- package/dist/server/modules/user/user.resolver.js +70 -73
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/modules/user/user.service.d.ts +9 -9
- package/dist/server/modules/user/user.service.js +26 -29
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/server/server.controller.d.ts +1 -1
- package/dist/server/server.controller.js +12 -15
- package/dist/server/server.controller.js.map +1 -1
- package/dist/server/server.module.js +33 -36
- package/dist/server/server.module.js.map +1 -1
- package/dist/test/test.helper.js +17 -21
- package/dist/test/test.helper.js.map +1 -1
- package/docs/REQUEST-LIFECYCLE.md +12 -2
- package/docs/security-overrides.md +50 -29
- package/migration-guides/11.43.2-to-11.43.3.md +80 -0
- package/migration-guides/11.43.x-to-12.0.x.md +828 -0
- package/package.json +68 -68
- package/src/config.env.ts +32 -30
- package/src/core/common/args/filter.args.ts +3 -3
- package/src/core/common/args/pagination.args.ts +4 -4
- package/src/core/common/decorators/current-user.decorator.ts +1 -1
- package/src/core/common/decorators/graphql-populate.decorator.ts +1 -1
- package/src/core/common/decorators/graphql-service-options.decorator.ts +2 -2
- package/src/core/common/decorators/response-model.decorator.ts +1 -1
- package/src/core/common/decorators/rest-service-options.decorator.ts +2 -2
- package/src/core/common/decorators/restricted.decorator.ts +11 -11
- package/src/core/common/decorators/unified-field.decorator.ts +12 -7
- package/src/core/common/exceptions/access-denied.exception.ts +1 -1
- package/src/core/common/filters/http-exception-log.filter.ts +16 -2
- package/src/core/common/filters/mongoose-cast-error.filter.ts +1 -1
- package/src/core/common/helpers/clone.helper.ts +2 -2
- package/src/core/common/helpers/config.helper.ts +47 -29
- package/src/core/common/helpers/cookies.helper.ts +1 -1
- package/src/core/common/helpers/db.helper.ts +8 -8
- package/src/core/common/helpers/decorator.helper.ts +2 -2
- package/src/core/common/helpers/execution-context-request.helper.ts +2 -2
- package/src/core/common/helpers/file.helper.ts +1 -1
- package/src/core/common/helpers/filter.helper.ts +9 -9
- package/src/core/common/helpers/graceful-shutdown.helper.ts +1 -1
- package/src/core/common/helpers/graphql-ws-connection.helper.ts +31 -6
- package/src/core/common/helpers/graphql-ws-context.helper.ts +10 -11
- package/src/core/common/helpers/graphql.helper.ts +1 -1
- package/src/core/common/helpers/id.helper.ts +2 -2
- package/src/core/common/helpers/input.helper.ts +11 -11
- package/src/core/common/helpers/interceptor.helper.ts +6 -9
- package/src/core/common/helpers/model.helper.ts +1 -1
- package/src/core/common/helpers/module-location.helper.ts +33 -0
- package/src/core/common/helpers/outbound-url.helper.ts +2 -2
- package/src/core/common/helpers/process-diagnostics.helper.ts +1 -1
- package/src/core/common/helpers/register-enum.helper.ts +1 -1
- package/src/core/common/helpers/scim.helper.ts +3 -3
- package/src/core/common/helpers/service.helper.ts +11 -11
- package/src/core/common/helpers/swagger.helper.ts +94 -35
- package/src/core/common/inputs/combined-filter.input.ts +1 -1
- package/src/core/common/inputs/core-input.input.ts +2 -2
- package/src/core/common/inputs/filter.input.ts +7 -7
- package/src/core/common/inputs/single-filter.input.ts +6 -6
- package/src/core/common/inputs/sort.input.ts +5 -5
- package/src/core/common/interceptors/check-response.interceptor.ts +3 -3
- package/src/core/common/interceptors/check-security.interceptor.ts +5 -5
- package/src/core/common/interceptors/response-model.interceptor.ts +5 -5
- package/src/core/common/interceptors/translate-response.interceptor.ts +1 -1
- package/src/core/common/interfaces/core-persistence-model.interface.ts +1 -1
- package/src/core/common/interfaces/cron-job-config-with-time-zone.interface.ts +1 -1
- package/src/core/common/interfaces/cron-job-config-with-utc-offset.interface.ts +1 -1
- package/src/core/common/interfaces/scim-array-filter-node.interface.ts +1 -1
- package/src/core/common/interfaces/scim-condition-node.interface.ts +1 -1
- package/src/core/common/interfaces/scim-logical-node.interface.ts +2 -2
- package/src/core/common/interfaces/server-options.interface.ts +17 -13
- package/src/core/common/interfaces/service-options.interface.ts +3 -3
- package/src/core/common/middleware/request-context.middleware.ts +1 -1
- package/src/core/common/middlewares/security-headers.middleware.ts +2 -2
- package/src/core/common/models/core-model.model.ts +1 -1
- package/src/core/common/models/core-persistence.model.ts +5 -5
- package/src/core/common/models/pagination-info.model.ts +1 -1
- package/src/core/common/pipes/check-input.pipe.ts +2 -2
- package/src/core/common/pipes/map-and-validate.pipe.ts +6 -6
- package/src/core/common/plugins/complexity.plugin.ts +1 -1
- package/src/core/common/plugins/mongoose-audit-fields.plugin.ts +1 -1
- package/src/core/common/plugins/mongoose-password.plugin.ts +2 -2
- package/src/core/common/plugins/mongoose-role-guard.plugin.ts +3 -3
- package/src/core/common/plugins/mongoose-system-role.plugin.ts +1 -1
- package/src/core/common/plugins/mongoose-tenant.plugin.ts +2 -2
- package/src/core/common/scalars/date-timestamp.scalar.ts +1 -1
- package/src/core/common/scalars/date.scalar.ts +1 -1
- package/src/core/common/scalars/upload.scalar.ts +23 -0
- package/src/core/common/services/brevo.service.ts +32 -6
- package/src/core/common/services/config.service.ts +13 -9
- package/src/core/common/services/core-body-parser.initializer.ts +3 -3
- package/src/core/common/services/core-cron-jobs.initializer.ts +3 -3
- package/src/core/common/services/core-cron-jobs.registry.ts +1 -1
- package/src/core/common/services/core-cron-jobs.service.ts +45 -30
- package/src/core/common/services/core-redis-pubsub.ts +1 -1
- package/src/core/common/services/core-redis.service.ts +3 -3
- package/src/core/common/services/core-s3.service.ts +17 -3
- package/src/core/common/services/core-tenant-context.registry.ts +13 -1
- package/src/core/common/services/core-trust-proxy.initializer.ts +2 -2
- package/src/core/common/services/crud.service.ts +10 -10
- package/src/core/common/services/email.service.ts +13 -12
- package/src/core/common/services/mailjet.service.ts +10 -2
- package/src/core/common/services/model-doc.service.ts +3 -3
- package/src/core/common/services/model-registry.service.ts +1 -1
- package/src/core/common/services/module.service.ts +12 -12
- package/src/core/common/services/rate-limit-store.ts +6 -3
- package/src/core/common/services/template.service.ts +3 -3
- package/src/core/common/types/core-model-constructor.type.ts +1 -1
- package/src/core/common/types/field-selection.type.ts +1 -1
- package/src/core/common/types/ids.type.ts +1 -1
- package/src/core/common/types/plain-input.type.ts +3 -0
- package/src/core/common/types/scim-node.type.ts +3 -3
- package/src/core/common/types/wrapper.type.ts +14 -1
- package/src/core/modules/ai/README.md +6 -0
- package/src/core/modules/ai/core-ai-mcp-oauth.initializer.ts +6 -6
- package/src/core/modules/ai/core-ai-mcp.controller.ts +76 -17
- package/src/core/modules/ai/core-ai.controller.ts +42 -42
- package/src/core/modules/ai/core-ai.module.ts +46 -39
- package/src/core/modules/ai/core-ai.resolver.ts +40 -40
- package/src/core/modules/ai/helpers/ai-mcp-oauth.helper.ts +4 -4
- package/src/core/modules/ai/hooks/ai-hook.base.ts +2 -2
- package/src/core/modules/ai/hooks/ai-hook.registry.ts +3 -3
- package/src/core/modules/ai/index.ts +71 -71
- package/src/core/modules/ai/inputs/core-ai-budget-limit-create.input.ts +4 -4
- package/src/core/modules/ai/inputs/core-ai-budget-limit.input.ts +3 -3
- package/src/core/modules/ai/inputs/core-ai-connection-create.input.ts +4 -4
- package/src/core/modules/ai/inputs/core-ai-connection-preference.input.ts +3 -3
- package/src/core/modules/ai/inputs/core-ai-connection.input.ts +3 -3
- package/src/core/modules/ai/inputs/core-ai-conversation-create.input.ts +3 -3
- package/src/core/modules/ai/inputs/core-ai-conversation.input.ts +3 -3
- package/src/core/modules/ai/inputs/core-ai-prompt-create.input.ts +4 -4
- package/src/core/modules/ai/inputs/core-ai-prompt-hint-create.input.ts +4 -4
- package/src/core/modules/ai/inputs/core-ai-prompt-hint.input.ts +3 -3
- package/src/core/modules/ai/inputs/core-ai-prompt-update.input.ts +4 -4
- package/src/core/modules/ai/inputs/core-ai-prompt.input.ts +4 -4
- package/src/core/modules/ai/inputs/core-ai-slot-create.input.ts +4 -4
- package/src/core/modules/ai/inputs/core-ai-slot-update.input.ts +3 -3
- package/src/core/modules/ai/interfaces/ai-hook.interface.ts +3 -3
- package/src/core/modules/ai/interfaces/ai-placeholder.interface.ts +1 -1
- package/src/core/modules/ai/interfaces/ai-tool.interface.ts +2 -2
- package/src/core/modules/ai/models/core-ai-action.model.ts +3 -3
- package/src/core/modules/ai/models/core-ai-available-connection.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-budget-limit.model.ts +4 -4
- package/src/core/modules/ai/models/core-ai-connection-preference.model.ts +4 -4
- package/src/core/modules/ai/models/core-ai-connection.model.ts +4 -4
- package/src/core/modules/ai/models/core-ai-conversation.model.ts +6 -6
- package/src/core/modules/ai/models/core-ai-interaction.model.ts +5 -5
- package/src/core/modules/ai/models/core-ai-message.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-mode.model.ts +4 -4
- package/src/core/modules/ai/models/core-ai-prompt-hint.model.ts +4 -4
- package/src/core/modules/ai/models/core-ai-prompt.model.ts +4 -4
- package/src/core/modules/ai/models/core-ai-response.model.ts +6 -6
- package/src/core/modules/ai/models/core-ai-slot.model.ts +4 -4
- package/src/core/modules/ai/models/core-ai-tool-grant.model.ts +4 -4
- package/src/core/modules/ai/models/core-ai-tool-policy.model.ts +5 -5
- package/src/core/modules/ai/models/core-ai-usage-info.model.ts +2 -2
- package/src/core/modules/ai/models/core-ai-usage.model.ts +2 -2
- package/src/core/modules/ai/providers/claude-cli.provider.ts +4 -4
- package/src/core/modules/ai/providers/llm-provider.factory.ts +3 -3
- package/src/core/modules/ai/providers/openai-compatible.provider.ts +4 -4
- package/src/core/modules/ai/services/ai-crypto.service.ts +2 -2
- package/src/core/modules/ai/services/core-ai-budget.service.ts +11 -11
- package/src/core/modules/ai/services/core-ai-connection-preference.service.ts +11 -7
- package/src/core/modules/ai/services/core-ai-connection-resolver.service.ts +6 -6
- package/src/core/modules/ai/services/core-ai-connection.service.ts +14 -14
- package/src/core/modules/ai/services/core-ai-conversation.service.ts +10 -10
- package/src/core/modules/ai/services/core-ai-interaction.service.ts +6 -6
- package/src/core/modules/ai/services/core-ai-mcp-client.service.ts +3 -3
- package/src/core/modules/ai/services/core-ai-mcp-oauth.service.ts +45 -9
- package/src/core/modules/ai/services/core-ai-mcp.service.ts +2 -2
- package/src/core/modules/ai/services/core-ai-mode.service.ts +5 -5
- package/src/core/modules/ai/services/core-ai-placeholder.registry.ts +3 -3
- package/src/core/modules/ai/services/core-ai-prompt-builder.service.ts +6 -6
- package/src/core/modules/ai/services/core-ai-prompt-hint.service.ts +8 -8
- package/src/core/modules/ai/services/core-ai-prompt.service.ts +9 -9
- package/src/core/modules/ai/services/core-ai-slot.service.ts +10 -10
- package/src/core/modules/ai/services/core-ai-tool-grant.service.ts +5 -5
- package/src/core/modules/ai/services/core-ai-tool-policy.service.ts +5 -5
- package/src/core/modules/ai/services/core-ai.service.ts +37 -33
- package/src/core/modules/ai/tools/ai-tool.base.ts +3 -3
- package/src/core/modules/ai/tools/ai-tool.registry.ts +5 -5
- package/src/core/modules/ai/tools/ask-user-question.tool.ts +4 -4
- package/src/core/modules/ai/tools/search-tools.tool.ts +4 -4
- package/src/core/modules/api-token/core-api-token.decorators.ts +1 -1
- package/src/core/modules/api-token/core-api-token.helpers.ts +8 -8
- package/src/core/modules/api-token/core-api-token.middleware.ts +3 -3
- package/src/core/modules/api-token/core-api-token.model.ts +10 -10
- package/src/core/modules/api-token/core-api-token.module.ts +4 -4
- package/src/core/modules/api-token/core-api-token.service.ts +13 -13
- package/src/core/modules/auth/core-auth.controller.ts +19 -19
- package/src/core/modules/auth/core-auth.model.ts +5 -5
- package/src/core/modules/auth/core-auth.module.ts +12 -12
- package/src/core/modules/auth/core-auth.resolver.ts +19 -19
- package/src/core/modules/auth/core-legacy-auth-deprecation.initializer.ts +17 -3
- package/src/core/modules/auth/guards/auth.guard.ts +40 -12
- package/src/core/modules/auth/guards/legacy-auth-rate-limit.guard.ts +1 -1
- package/src/core/modules/auth/guards/refresh-token.guard.ts +1 -1
- package/src/core/modules/auth/guards/roles.guard.ts +13 -13
- package/src/core/modules/auth/helpers/legacy-endpoints.helper.ts +1 -1
- package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +4 -4
- package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +3 -3
- package/src/core/modules/auth/interfaces/auth-provider.interface.ts +1 -1
- package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +1 -1
- package/src/core/modules/auth/services/core-auth-user.service.ts +2 -2
- package/src/core/modules/auth/services/core-auth.service.ts +14 -14
- package/src/core/modules/auth/services/legacy-auth-rate-limiter.service.ts +4 -4
- package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +3 -3
- package/src/core/modules/auth/strategies/jwt.strategy.ts +4 -4
- package/src/core/modules/auth/tokens.decorator.ts +1 -1
- package/src/core/modules/better-auth/better-auth-roles.guard.ts +10 -10
- package/src/core/modules/better-auth/better-auth-token.service.ts +3 -3
- package/src/core/modules/better-auth/better-auth.config.ts +79 -14
- package/src/core/modules/better-auth/better-auth.resolver.ts +9 -9
- package/src/core/modules/better-auth/better-auth.types.ts +1 -1
- package/src/core/modules/better-auth/core-better-auth-api.middleware.ts +84 -12
- package/src/core/modules/better-auth/core-better-auth-auth.model.ts +3 -3
- package/src/core/modules/better-auth/core-better-auth-challenge.service.ts +3 -3
- package/src/core/modules/better-auth/core-better-auth-cookie.helper.ts +4 -4
- package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +21 -11
- package/src/core/modules/better-auth/core-better-auth-error-codes.helper.ts +1 -1
- package/src/core/modules/better-auth/core-better-auth-models.ts +2 -2
- package/src/core/modules/better-auth/core-better-auth-openapi.helper.ts +1 -1
- package/src/core/modules/better-auth/core-better-auth-rate-limit.middleware.ts +2 -2
- package/src/core/modules/better-auth/core-better-auth-rate-limiter.service.ts +3 -3
- package/src/core/modules/better-auth/core-better-auth-signup-validator.service.ts +3 -3
- package/src/core/modules/better-auth/core-better-auth-user.mapper.ts +25 -5
- package/src/core/modules/better-auth/core-better-auth-web.helper.ts +2 -2
- package/src/core/modules/better-auth/core-better-auth.controller.ts +20 -17
- package/src/core/modules/better-auth/core-better-auth.middleware.ts +5 -5
- package/src/core/modules/better-auth/core-better-auth.module.ts +29 -27
- package/src/core/modules/better-auth/core-better-auth.registry.ts +35 -1
- package/src/core/modules/better-auth/core-better-auth.resolver.ts +16 -13
- package/src/core/modules/better-auth/core-better-auth.service.ts +17 -17
- package/src/core/modules/better-auth/index.ts +24 -24
- package/src/core/modules/error-code/core-error-code.controller.ts +4 -4
- package/src/core/modules/error-code/core-error-code.service.ts +2 -2
- package/src/core/modules/error-code/error-code.module.ts +3 -3
- package/src/core/modules/error-code/index.ts +5 -5
- package/src/core/modules/error-code/interfaces/error-code.interfaces.ts +2 -2
- package/src/core/modules/file/core-file-access-audit.initializer.ts +5 -5
- package/src/core/modules/file/core-file-info.model.ts +4 -4
- package/src/core/modules/file/core-file.controller.ts +8 -8
- package/src/core/modules/file/core-file.resolver.ts +8 -9
- package/src/core/modules/file/core-file.service.ts +20 -20
- package/src/core/modules/file/file-access.helper.ts +1 -1
- package/src/core/modules/file/file-roles.config.ts +2 -2
- package/src/core/modules/file/file-roles.helper.ts +6 -6
- package/src/core/modules/file/file-storage.helper.ts +1 -1
- package/src/core/modules/file/filesystem-file.helper.ts +2 -2
- package/src/core/modules/file/interfaces/file-upload.interface.ts +1 -1
- package/src/core/modules/file/s3-file.helper.ts +2 -2
- package/src/core/modules/health-check/core-health-check-result.model.ts +5 -5
- package/src/core/modules/health-check/core-health-check.controller.ts +3 -3
- package/src/core/modules/health-check/core-health-check.module.ts +3 -3
- package/src/core/modules/health-check/core-health-check.resolver.ts +4 -4
- package/src/core/modules/health-check/core-health-check.service.ts +18 -9
- package/src/core/modules/hub/core-hub-actions.controller.ts +2 -2
- package/src/core/modules/hub/core-hub-html.service.ts +4 -4
- package/src/core/modules/hub/core-hub.controller.ts +17 -17
- package/src/core/modules/hub/core-hub.module.ts +17 -17
- package/src/core/modules/hub/core-hub.service.ts +9 -9
- package/src/core/modules/hub/hub-buffer.ts +2 -2
- package/src/core/modules/hub/hub-config.helper.ts +4 -4
- package/src/core/modules/hub/index.ts +25 -25
- package/src/core/modules/hub/middleware/hub-trace.middleware.ts +1 -1
- package/src/core/modules/hub/services/core-hub-actions.service.ts +12 -12
- package/src/core/modules/hub/services/core-hub-db.service.ts +11 -11
- package/src/core/modules/hub/services/core-hub-email.service.ts +7 -6
- package/src/core/modules/hub/services/core-hub-mailbox.service.ts +6 -6
- package/src/core/modules/hub/services/core-hub-migrations.service.ts +8 -8
- package/src/core/modules/hub/services/core-hub-sources.service.ts +12 -6
- package/src/core/modules/hub/services/hub-log-buffer.service.ts +6 -6
- package/src/core/modules/hub/services/hub-query-profiler.service.ts +8 -8
- package/src/core/modules/hub/services/hub-trace-buffer.service.ts +5 -5
- package/src/core/modules/migrate/MIGRATION_FROM_NODEPIT.md +1 -1
- package/src/core/modules/migrate/README.md +32 -8
- package/src/core/modules/migrate/cli/migrate-cli.ts +71 -7
- package/src/core/modules/migrate/helpers/migration.helper.ts +7 -284
- package/src/core/modules/migrate/helpers/package.json +3 -0
- package/src/core/modules/migrate/helpers/ts-compiler-hooks.mjs +90 -0
- package/src/core/modules/migrate/helpers/ts-compiler.cjs +183 -0
- package/src/core/modules/migrate/helpers/ts-compiler.js +7 -10
- package/src/core/modules/migrate/index.ts +4 -4
- package/src/core/modules/migrate/migration-runner.ts +9 -10
- package/src/core/modules/migrate/migration.helper.ts +310 -0
- package/src/core/modules/migrate/templates/migration-project.template.ts +29 -12
- package/src/core/modules/permissions/core-permissions.controller.ts +2 -2
- package/src/core/modules/permissions/core-permissions.module.ts +4 -4
- package/src/core/modules/permissions/core-permissions.service.ts +2 -2
- package/src/core/modules/permissions/permissions-scanner.ts +1 -1
- package/src/core/modules/system-setup/core-system-setup.controller.ts +3 -3
- package/src/core/modules/system-setup/core-system-setup.module.ts +2 -2
- package/src/core/modules/system-setup/core-system-setup.service.ts +6 -6
- package/src/core/modules/tenant/core-role-scope.registry.ts +3 -3
- package/src/core/modules/tenant/core-tenant-member.model.ts +8 -8
- package/src/core/modules/tenant/core-tenant-role.helper.ts +4 -4
- package/src/core/modules/tenant/core-tenant.decorators.ts +1 -1
- package/src/core/modules/tenant/core-tenant.guard.ts +73 -43
- package/src/core/modules/tenant/core-tenant.helpers.ts +6 -6
- package/src/core/modules/tenant/core-tenant.module.ts +7 -7
- package/src/core/modules/tenant/core-tenant.service.ts +6 -6
- package/src/core/modules/tus/core-tus.controller.ts +6 -6
- package/src/core/modules/tus/core-tus.service.ts +14 -14
- package/src/core/modules/tus/index.ts +5 -5
- package/src/core/modules/tus/interfaces/tus-config.interface.ts +5 -5
- package/src/core/modules/tus/tus-redis-locker.ts +1 -1
- package/src/core/modules/tus/tus.module.ts +10 -10
- package/src/core/modules/user/core-user.model.ts +5 -5
- package/src/core/modules/user/core-user.service.ts +19 -19
- package/src/core/modules/user/inputs/core-user-create.input.ts +4 -4
- package/src/core/modules/user/inputs/core-user.input.ts +5 -5
- package/src/core/modules/user/interfaces/core-user-service-options.interface.ts +1 -1
- package/src/core.module.ts +63 -158
- package/src/index.ts +204 -203
- package/src/main.ts +19 -16
- package/src/server/common/models/persistence.model.ts +6 -6
- package/src/server/common/services/cron-jobs.service.ts +7 -8
- package/src/server/modules/ai/ai-tools.module.ts +7 -7
- package/src/server/modules/ai/tools/delete-user.tool.ts +5 -5
- package/src/server/modules/ai/tools/find-users.tool.ts +5 -5
- package/src/server/modules/ai/tools/get-user.tool.ts +5 -5
- package/src/server/modules/ai/tools/update-user-job-title.tool.ts +6 -6
- package/src/server/modules/auth/auth.controller.ts +5 -5
- package/src/server/modules/auth/auth.model.ts +6 -6
- package/src/server/modules/auth/auth.module.ts +7 -7
- package/src/server/modules/auth/auth.resolver.ts +10 -10
- package/src/server/modules/auth/auth.service.ts +8 -8
- package/src/server/modules/auth/inputs/auth-sign-in.input.ts +3 -3
- package/src/server/modules/auth/inputs/auth-sign-up.input.ts +4 -4
- package/src/server/modules/better-auth/better-auth.controller.ts +8 -8
- package/src/server/modules/better-auth/better-auth.module.ts +4 -4
- package/src/server/modules/better-auth/better-auth.resolver.ts +10 -10
- package/src/server/modules/error-code/error-code.controller.ts +5 -5
- package/src/server/modules/error-code/error-code.service.ts +2 -2
- package/src/server/modules/error-code/error-codes.ts +1 -1
- package/src/server/modules/error-code/index.ts +3 -3
- package/src/server/modules/file/file-info.model.ts +3 -3
- package/src/server/modules/file/file.controller.ts +5 -5
- package/src/server/modules/file/file.module.ts +5 -5
- package/src/server/modules/file/file.resolver.ts +6 -7
- package/src/server/modules/file/file.service.ts +7 -7
- package/src/server/modules/user/avatar.controller.ts +9 -10
- package/src/server/modules/user/inputs/user-create.input.ts +4 -4
- package/src/server/modules/user/inputs/user.input.ts +4 -4
- package/src/server/modules/user/outputs/find-and-count-users-result.output.ts +5 -5
- package/src/server/modules/user/user.controller.ts +10 -10
- package/src/server/modules/user/user.model.ts +7 -7
- package/src/server/modules/user/user.module.ts +9 -9
- package/src/server/modules/user/user.resolver.ts +11 -11
- package/src/server/modules/user/user.service.ts +10 -10
- package/src/server/server.controller.ts +1 -1
- package/src/server/server.module.ts +16 -16
- package/src/test/test.helper.ts +5 -5
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { GraphQLScalarType } from 'graphql';
|
|
2
|
+
import GraphQLUploadScalar from 'graphql-upload/GraphQLUpload.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The GraphQL `Upload` scalar for multipart file uploads — import it from `@lenne.tech/nest-server`,
|
|
6
|
+
* not from `graphql-upload`.
|
|
7
|
+
*
|
|
8
|
+
* The scalar accepts a value only if it is `instanceof Upload` of ITS copy of graphql-upload, and the
|
|
9
|
+
* `Upload` instances come from the multipart middleware `CoreModule` installs, i.e. from THIS package's
|
|
10
|
+
* copy. A resolver that imports the scalar from the project's own graphql-upload therefore works only
|
|
11
|
+
* while both resolve to the same version; with two copies every upload is refused as invalid. And the
|
|
12
|
+
* import path itself is not stable across graphql-upload majors (15: `GraphQLUpload.js`, 16+:
|
|
13
|
+
* `GraphQLUpload.mjs`). Importing it from here keeps scalar and middleware one copy and leaves the
|
|
14
|
+
* path to the framework.
|
|
15
|
+
*
|
|
16
|
+
* The path is a CONTRACT with the lt CLI: its generator checks whether `common/scalars/upload.scalar` exists in
|
|
17
|
+
* the framework root (`dist/core/` in npm mode, `src/core/` vendored) and only then writes
|
|
18
|
+
* `import { GraphQLUpload } from '<framework>'` for a File/FileInfo input; otherwise it falls back to
|
|
19
|
+
* `import GraphQLUpload = require('graphql-upload/GraphQLUpload.js')`. Moving or renaming this file, or dropping
|
|
20
|
+
* the re-export from `src/index.ts`, silently sends every newly generated resolver back to the project's own
|
|
21
|
+
* graphql-upload copy. Pinned by `tests/unit/upload-scalar-contract.spec.ts`.
|
|
22
|
+
*/
|
|
23
|
+
export const GraphQLUpload: GraphQLScalarType = GraphQLUploadScalar;
|
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
import { Injectable, Logger } from '@nestjs/common';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import { ConfigService } from './config.service.js';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* The SDK as the lazy `import()` in {@link BrevoService.getClient} resolves it.
|
|
8
|
+
*
|
|
9
|
+
* Derived from the import EXPRESSION on purpose: TypeScript types an `import()` the way it is emitted —
|
|
10
|
+
* the ESM build under `module: nodenext` (this repo; a native `import()`), the CJS build under
|
|
11
|
+
* `module: commonjs` (a vendor project's tsconfig; rewritten to `require()`). A plain `import type`
|
|
12
|
+
* resolves this file's own format instead, and `BrevoClient` has private members, so one build's class
|
|
13
|
+
* is not assignable to the other's: whichever fixed choice is written breaks the other configuration.
|
|
14
|
+
*/
|
|
15
|
+
const loadBrevoSdk = () => import('@getbrevo/brevo');
|
|
16
|
+
type BrevoClient = InstanceType<Awaited<ReturnType<typeof loadBrevoSdk>>['BrevoClient']>;
|
|
17
|
+
type SendTransacEmailRequest = Parameters<BrevoClient['transactionalEmails']['sendTransacEmail']>[0];
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The part of the Brevo SDK client `BrevoService` calls — the return type of the overridable
|
|
21
|
+
* {@link BrevoService.getClient}.
|
|
22
|
+
*
|
|
23
|
+
* Structural on purpose. The SDK's `BrevoClient` class differs between its CJS and ESM builds, and
|
|
24
|
+
* which one the lazy import loads depends on the consumer's `module` setting, so neither can be named
|
|
25
|
+
* in this package's declarations (TS2883 under `module: commonjs`). Either build's client satisfies
|
|
26
|
+
* this, and so does a test double.
|
|
27
|
+
*/
|
|
28
|
+
export interface IBrevoSdkClient {
|
|
29
|
+
transactionalEmails: {
|
|
30
|
+
sendTransacEmail(request: object): Promise<unknown>;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
7
33
|
|
|
8
34
|
/**
|
|
9
35
|
* Brevo service to send transactional emails
|
|
@@ -59,7 +85,7 @@ export class BrevoService {
|
|
|
59
85
|
}
|
|
60
86
|
|
|
61
87
|
// Prepare data
|
|
62
|
-
const request:
|
|
88
|
+
const request: SendTransacEmailRequest = {
|
|
63
89
|
headers: this.buildIdempotencyHeaders(),
|
|
64
90
|
// The public signature keeps the wider `object` so existing callers stay source-compatible;
|
|
65
91
|
// the SDK narrowed its own field to an index-signature type in v6.
|
|
@@ -103,7 +129,7 @@ export class BrevoService {
|
|
|
103
129
|
}
|
|
104
130
|
|
|
105
131
|
// Prepare data
|
|
106
|
-
const request:
|
|
132
|
+
const request: SendTransacEmailRequest = {
|
|
107
133
|
headers: this.buildIdempotencyHeaders(),
|
|
108
134
|
htmlContent: html,
|
|
109
135
|
params: options?.params,
|
|
@@ -172,9 +198,9 @@ export class BrevoService {
|
|
|
172
198
|
*
|
|
173
199
|
* @returns The memoised SDK client
|
|
174
200
|
*/
|
|
175
|
-
protected async getClient(): Promise<
|
|
201
|
+
protected async getClient(): Promise<IBrevoSdkClient> {
|
|
176
202
|
if (!this.client) {
|
|
177
|
-
const { BrevoClient: BrevoClientCtor } = await
|
|
203
|
+
const { BrevoClient: BrevoClientCtor } = await loadBrevoSdk();
|
|
178
204
|
this.client = new BrevoClientCtor({
|
|
179
205
|
apiKey: this.brevoConfig.apiKey,
|
|
180
206
|
// The SDK defaults to 2 retries honouring `Retry-After` with a 60 s cap PER attempt, and to
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _ = require('lodash');
|
|
1
|
+
import _ from 'lodash';
|
|
3
2
|
import { BehaviorSubject, firstValueFrom } from 'rxjs';
|
|
4
3
|
import { filter, map } from 'rxjs/operators';
|
|
5
4
|
|
|
6
|
-
import { merge } from '../helpers/config.helper';
|
|
5
|
+
import { merge } from '../helpers/config.helper.js';
|
|
7
6
|
// Import from the clone.helper LEAF, never from input.helper: input.helper imports
|
|
8
7
|
// restricted.decorator, which reaches back here via core-tenant.helpers — that cycle is what the
|
|
9
8
|
// extraction removed. See clone.helper's docblock.
|
|
10
|
-
import { clone, deepFreeze } from '../helpers/clone.helper';
|
|
11
|
-
import { IServerOptions } from '../interfaces/server-options.interface';
|
|
9
|
+
import { clone, deepFreeze } from '../helpers/clone.helper.js';
|
|
10
|
+
import { IServerOptions } from '../interfaces/server-options.interface.js';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Config service can be used as provider (after initialization in CoreModule.forRoot)
|
|
@@ -61,6 +60,11 @@ export class ConfigService {
|
|
|
61
60
|
|
|
62
61
|
/**
|
|
63
62
|
* Create config service or return singleton instance if exists
|
|
63
|
+
*
|
|
64
|
+
* `warn: true` prints the whole merged configuration when this is a second construction — a debugging
|
|
65
|
+
* aid, and an opt-in since 12.0.0 like it always was for `setConfig()` / `mergeConfig()`. As the default it
|
|
66
|
+
* wrote every secret in the config (JWT and Better-Auth secrets, database and Redis URIs, API keys) to
|
|
67
|
+
* stdout whenever `CoreModule.forRoot()` ran a second time in one process: tests, scripts, a second app.
|
|
64
68
|
*/
|
|
65
69
|
constructor(
|
|
66
70
|
configObject?: Partial<IServerOptions> & { [key: string]: any },
|
|
@@ -68,7 +72,7 @@ export class ConfigService {
|
|
|
68
72
|
) {
|
|
69
73
|
const config = {
|
|
70
74
|
reInit: false,
|
|
71
|
-
warn:
|
|
75
|
+
warn: false,
|
|
72
76
|
...options,
|
|
73
77
|
};
|
|
74
78
|
|
|
@@ -78,7 +82,7 @@ export class ConfigService {
|
|
|
78
82
|
// Init subject handling
|
|
79
83
|
if (!isInitialized) {
|
|
80
84
|
ConfigService._configSubject$.subscribe((value) => {
|
|
81
|
-
ConfigService._frozenConfigSubject$.next(deepFreeze(cloneDeep(value)));
|
|
85
|
+
ConfigService._frozenConfigSubject$.next(deepFreeze(_.cloneDeep(value)));
|
|
82
86
|
});
|
|
83
87
|
}
|
|
84
88
|
|
|
@@ -271,7 +275,7 @@ export class ConfigService {
|
|
|
271
275
|
|
|
272
276
|
// Merge config
|
|
273
277
|
const activity = isInitialized ? 'merged' : 'initialized';
|
|
274
|
-
const merged = merge(ConfigService._configSubject$.getValue() || {}, cloneDeep(configData));
|
|
278
|
+
const merged = merge(ConfigService._configSubject$.getValue() || {}, _.cloneDeep(configData));
|
|
275
279
|
ConfigService._configSubject$.next(merged);
|
|
276
280
|
|
|
277
281
|
// Warn if requested
|
|
@@ -307,7 +311,7 @@ export class ConfigService {
|
|
|
307
311
|
// Merge property
|
|
308
312
|
const current = ConfigService._configSubject$.getValue() || {};
|
|
309
313
|
if (typeof value === 'object') {
|
|
310
|
-
current[key] = merge(current[key], cloneDeep(value));
|
|
314
|
+
current[key] = merge(current[key], _.cloneDeep(value));
|
|
311
315
|
} else {
|
|
312
316
|
current[key] = value;
|
|
313
317
|
}
|
|
@@ -2,9 +2,9 @@ import { Injectable, Logger, OnModuleInit, Optional, PayloadTooLargeException }
|
|
|
2
2
|
import { HttpAdapterHost, ModuleRef } from '@nestjs/core';
|
|
3
3
|
import { json, urlencoded } from 'express';
|
|
4
4
|
|
|
5
|
-
import { ErrorCode } from '../../modules/error-code/error-codes';
|
|
6
|
-
import { IBodyParserConfig } from '../interfaces/server-options.interface';
|
|
7
|
-
import { ConfigService } from './config.service';
|
|
5
|
+
import { ErrorCode } from '../../modules/error-code/error-codes.js';
|
|
6
|
+
import { IBodyParserConfig } from '../interfaces/server-options.interface.js';
|
|
7
|
+
import { ConfigService } from './config.service.js';
|
|
8
8
|
|
|
9
9
|
import type { NextFunction, Request, RequestHandler, Response } from 'express';
|
|
10
10
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Injectable, OnApplicationShutdown, OnModuleInit, Optional } from '@nestjs/common';
|
|
2
2
|
import { InjectConnection } from '@nestjs/mongoose';
|
|
3
|
-
import { Connection } from 'mongoose';
|
|
3
|
+
import type { Connection } from 'mongoose';
|
|
4
4
|
|
|
5
|
-
import { setCronJobsInfrastructure } from './core-cron-jobs.registry';
|
|
6
|
-
import { CoreRedisService } from './core-redis.service';
|
|
5
|
+
import { setCronJobsInfrastructure } from './core-cron-jobs.registry.js';
|
|
6
|
+
import { CoreRedisService } from './core-redis.service.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Populates the cron-jobs infrastructure registry at bootstrap so that
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* so a registration that happens after the service was constructed still takes effect.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import type { CoreRedisService } from './core-redis.service';
|
|
19
|
+
import type { CoreRedisService } from './core-redis.service.js';
|
|
20
20
|
import type { Connection } from 'mongoose';
|
|
21
21
|
|
|
22
22
|
export interface CronJobsInfrastructure {
|
|
@@ -1,16 +1,26 @@
|
|
|
1
|
-
import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
|
|
1
|
+
import { Logger, OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
|
|
2
2
|
import { CronExpression, SchedulerRegistry } from '@nestjs/schedule';
|
|
3
3
|
import { CronJob } from 'cron';
|
|
4
4
|
|
|
5
|
-
import { CronJobConfigWithTimeZone } from '../interfaces/cron-job-config-with-time-zone.interface';
|
|
6
|
-
import { CronJobConfigWithUtcOffset } from '../interfaces/cron-job-config-with-utc-offset.interface';
|
|
7
|
-
import { Falsy } from '../types/falsy.type';
|
|
8
|
-
import { getCronJobsInfrastructure } from './core-cron-jobs.registry';
|
|
5
|
+
import { CronJobConfigWithTimeZone } from '../interfaces/cron-job-config-with-time-zone.interface.js';
|
|
6
|
+
import { CronJobConfigWithUtcOffset } from '../interfaces/cron-job-config-with-utc-offset.interface.js';
|
|
7
|
+
import { Falsy } from '../types/falsy.type.js';
|
|
8
|
+
import { getCronJobsInfrastructure } from './core-cron-jobs.registry.js';
|
|
9
9
|
|
|
10
|
-
import type { CoreRedisService } from './core-redis.service';
|
|
10
|
+
import type { CoreRedisService } from './core-redis.service.js';
|
|
11
11
|
import type { Redis } from 'ioredis';
|
|
12
12
|
import type { Connection } from 'mongoose';
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* One logger for every cron message, through Nest's logger so levels, JSON mode and a project's custom logger apply.
|
|
16
|
+
* Module-level rather than a class member on purpose: a project `CronJobs extends CoreCronJobs` that declares its
|
|
17
|
+
* own `logger` field (a common shape) would otherwise stop compiling.
|
|
18
|
+
*/
|
|
19
|
+
const cronLogger = new Logger('CronJobs');
|
|
20
|
+
|
|
21
|
+
const errorMessage = (error: unknown): string => (error instanceof Error ? error.message : String(error));
|
|
22
|
+
const errorStack = (error: unknown): string | undefined => (error instanceof Error ? error.stack : undefined);
|
|
23
|
+
|
|
14
24
|
/**
|
|
15
25
|
* Collection holding the per-tick cron leases.
|
|
16
26
|
*
|
|
@@ -137,7 +147,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
137
147
|
*/
|
|
138
148
|
async onApplicationBootstrap(): Promise<void> {
|
|
139
149
|
if (this.config.log) {
|
|
140
|
-
|
|
150
|
+
cronLogger.log('Init CronJobs after application bootstrap');
|
|
141
151
|
}
|
|
142
152
|
await this.initCronJobs();
|
|
143
153
|
}
|
|
@@ -154,7 +164,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
154
164
|
const results = await Promise.allSettled([this.bullWorker?.close(), this.bullQueue?.close()]);
|
|
155
165
|
for (const result of results) {
|
|
156
166
|
if (result.status === 'rejected') {
|
|
157
|
-
|
|
167
|
+
cronLogger.error(`BullMQ shutdown failed: ${errorMessage(result.reason)}`, errorStack(result.reason));
|
|
158
168
|
}
|
|
159
169
|
}
|
|
160
170
|
this.bullWorker = undefined;
|
|
@@ -217,7 +227,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
217
227
|
// check if cron job exists
|
|
218
228
|
if (!this[name]) {
|
|
219
229
|
if (this.config.log) {
|
|
220
|
-
|
|
230
|
+
cronLogger.warn(`Missing cron job function ${name}`);
|
|
221
231
|
}
|
|
222
232
|
continue;
|
|
223
233
|
}
|
|
@@ -232,7 +242,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
232
242
|
bullScheduled.add(name);
|
|
233
243
|
continue;
|
|
234
244
|
}
|
|
235
|
-
|
|
245
|
+
cronLogger.debug(
|
|
236
246
|
`CronJob ${name} cannot be expressed as BullMQ scheduler (${
|
|
237
247
|
typeof config.cronTime === 'string' ? 'utcOffset is set' : 'cronTime is a Date'
|
|
238
248
|
}), falling back to a local timer with lease`,
|
|
@@ -285,7 +295,10 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
285
295
|
// DUPLICATE run, and treating an unreachable Redis as "someone else won" would
|
|
286
296
|
// instead stop every scheduled job on every replica — a silent, fleet-wide outage
|
|
287
297
|
// of all cron work, which is the worse failure of the two.
|
|
288
|
-
|
|
298
|
+
cronLogger.error(
|
|
299
|
+
`Cron lease for ${leaseKey} failed on Redis, running the tick anyway: ${errorMessage(e)}`,
|
|
300
|
+
errorStack(e),
|
|
301
|
+
);
|
|
289
302
|
return true;
|
|
290
303
|
}
|
|
291
304
|
}
|
|
@@ -311,7 +324,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
311
324
|
this.logSkippedTick(leaseKey);
|
|
312
325
|
return false;
|
|
313
326
|
}
|
|
314
|
-
|
|
327
|
+
cronLogger.error(`Cron lease for ${leaseKey} failed, running the tick anyway: ${errorMessage(e)}`, errorStack(e));
|
|
315
328
|
return true;
|
|
316
329
|
}
|
|
317
330
|
}
|
|
@@ -328,7 +341,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
328
341
|
.createIndex({ expiresAt: 1 }, { expireAfterSeconds: 0 })
|
|
329
342
|
.then(() => undefined)
|
|
330
343
|
.catch((e) => {
|
|
331
|
-
|
|
344
|
+
cronLogger.error(`Could not create TTL index on cron lock collection: ${errorMessage(e)}`, errorStack(e));
|
|
332
345
|
});
|
|
333
346
|
}
|
|
334
347
|
return this.leaseIndexReady;
|
|
@@ -386,10 +399,10 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
386
399
|
let bullmq: any;
|
|
387
400
|
try {
|
|
388
401
|
bullmq = await this.importBullMq();
|
|
389
|
-
} catch {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
'per-tick MongoDB leases.
|
|
402
|
+
} catch (error) {
|
|
403
|
+
cronLogger.warn(
|
|
404
|
+
`Redis is configured but the optional peer dependency "bullmq" could not be loaded (${errorMessage(error)}) — ` +
|
|
405
|
+
'cron jobs fall back to per-tick MongoDB leases. If it is missing: pnpm add bullmq',
|
|
393
406
|
);
|
|
394
407
|
return false;
|
|
395
408
|
}
|
|
@@ -432,7 +445,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
432
445
|
// promise from run() and takes the fetch loop down with it — after which no replica runs
|
|
433
446
|
// any job again. A transient error must stay transient.
|
|
434
447
|
this.bullWorker.on('error', (error: Error) => {
|
|
435
|
-
|
|
448
|
+
cronLogger.error(`BullMQ cron worker error: ${error.message}`, error.stack);
|
|
436
449
|
});
|
|
437
450
|
|
|
438
451
|
return true;
|
|
@@ -454,14 +467,14 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
454
467
|
if (!running()) {
|
|
455
468
|
return;
|
|
456
469
|
}
|
|
457
|
-
|
|
470
|
+
cronLogger.log(`Waiting up to ${timeoutMs}ms for ${running()} running cron job(s) to finish`);
|
|
458
471
|
|
|
459
472
|
while (running() && Date.now() < deadline) {
|
|
460
473
|
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
461
474
|
}
|
|
462
475
|
|
|
463
476
|
if (running()) {
|
|
464
|
-
|
|
477
|
+
cronLogger.warn(`${running()} cron job(s) still running after ${timeoutMs}ms — shutting down anyway`);
|
|
465
478
|
}
|
|
466
479
|
}
|
|
467
480
|
|
|
@@ -489,12 +502,12 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
489
502
|
for (const scheduler of await this.bullQueue.getJobSchedulers()) {
|
|
490
503
|
if (scheduler?.key && known.has(scheduler.key) && !active.has(scheduler.key)) {
|
|
491
504
|
await this.bullQueue.removeJobScheduler(scheduler.key);
|
|
492
|
-
|
|
505
|
+
cronLogger.log(`CronJob scheduler ${scheduler.key} removed — no longer configured`);
|
|
493
506
|
}
|
|
494
507
|
}
|
|
495
508
|
} catch (error) {
|
|
496
509
|
// Reconciliation is housekeeping: a failure here must not stop the jobs from starting.
|
|
497
|
-
|
|
510
|
+
cronLogger.warn(`Failed to reconcile BullMQ job schedulers: ${errorMessage(error)}`);
|
|
498
511
|
}
|
|
499
512
|
}
|
|
500
513
|
|
|
@@ -510,7 +523,9 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
510
523
|
return;
|
|
511
524
|
}
|
|
512
525
|
this.bullWorker.concurrency = Math.max(1, Object.keys(this.jobConfigs).length);
|
|
513
|
-
this.bullWorker
|
|
526
|
+
this.bullWorker
|
|
527
|
+
.run()
|
|
528
|
+
.catch((e: unknown) => cronLogger.error(`BullMQ cron worker stopped: ${errorMessage(e)}`, errorStack(e)));
|
|
514
529
|
}
|
|
515
530
|
|
|
516
531
|
/**
|
|
@@ -518,7 +533,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
518
533
|
*/
|
|
519
534
|
protected logSkippedTick(leaseKey: string): void {
|
|
520
535
|
if (this.config.log) {
|
|
521
|
-
|
|
536
|
+
cronLogger.debug(`CronJob tick ${leaseKey} skipped, lease held by another replica`);
|
|
522
537
|
}
|
|
523
538
|
}
|
|
524
539
|
|
|
@@ -564,7 +579,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
564
579
|
}
|
|
565
580
|
|
|
566
581
|
if (this.config.log) {
|
|
567
|
-
|
|
582
|
+
cronLogger.log(`CronJob ${name} initialized with "${config.cronTime}" (BullMQ scheduler)`);
|
|
568
583
|
}
|
|
569
584
|
}
|
|
570
585
|
|
|
@@ -616,7 +631,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
616
631
|
ref.job = job;
|
|
617
632
|
this.schedulerRegistry.addCronJob(name, job);
|
|
618
633
|
if (this.config.log && this.schedulerRegistry.getCronJob(name)) {
|
|
619
|
-
|
|
634
|
+
cronLogger.log(`CronJob ${name} initialized with "${config.cronTime}"`);
|
|
620
635
|
}
|
|
621
636
|
}
|
|
622
637
|
|
|
@@ -636,7 +651,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
636
651
|
*/
|
|
637
652
|
protected runInitTick(name: string): void {
|
|
638
653
|
this.runDistributedTick(name, 'init').catch((e) => {
|
|
639
|
-
|
|
654
|
+
cronLogger.error(`CronJob ${name} failed on its startup run: ${errorMessage(e)}`, errorStack(e));
|
|
640
655
|
});
|
|
641
656
|
}
|
|
642
657
|
|
|
@@ -649,7 +664,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
649
664
|
if (!config) {
|
|
650
665
|
// Returning quietly here is how a mis-timed BullMQ delivery got recorded as a
|
|
651
666
|
// successful, completed tick. The guard stays, but it no longer stays silent.
|
|
652
|
-
|
|
667
|
+
cronLogger.warn(`CronJob tick for "${name}" dropped — no registered config`);
|
|
653
668
|
return;
|
|
654
669
|
}
|
|
655
670
|
|
|
@@ -680,7 +695,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
680
695
|
if (config.throwException) {
|
|
681
696
|
throw e;
|
|
682
697
|
} else {
|
|
683
|
-
|
|
698
|
+
cronLogger.error(`CronJob ${name} failed: ${errorMessage(e)}`, errorStack(e));
|
|
684
699
|
}
|
|
685
700
|
}
|
|
686
701
|
|
|
@@ -696,7 +711,7 @@ export abstract class CoreCronJobs implements OnApplicationBootstrap, OnApplicat
|
|
|
696
711
|
return;
|
|
697
712
|
}
|
|
698
713
|
this.dedupWarned = true;
|
|
699
|
-
|
|
714
|
+
cronLogger.warn(
|
|
700
715
|
'Cron job deduplication is inactive: neither a Redis service nor a Mongoose connection was passed to ' +
|
|
701
716
|
'CoreCronJobs. Every replica runs every tick.',
|
|
702
717
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Logger, OnModuleDestroy } from '@nestjs/common';
|
|
2
2
|
import { PubSubEngine } from 'graphql-subscriptions';
|
|
3
3
|
|
|
4
|
-
import type { CoreRedisService } from './core-redis.service';
|
|
4
|
+
import type { CoreRedisService } from './core-redis.service.js';
|
|
5
5
|
import type { Redis } from 'ioredis';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Injectable, Logger, OnApplicationShutdown, OnModuleInit } from '@nestjs/common';
|
|
2
2
|
|
|
3
|
-
import { getProjectSlug } from '../helpers/project-name.helper';
|
|
4
|
-
import { ConfigService } from './config.service';
|
|
3
|
+
import { getProjectSlug } from '../helpers/project-name.helper.js';
|
|
4
|
+
import { ConfigService } from './config.service.js';
|
|
5
5
|
|
|
6
|
-
import type { IRedisConfig } from '../interfaces/server-options.interface';
|
|
6
|
+
import type { IRedisConfig } from '../interfaces/server-options.interface.js';
|
|
7
7
|
import type { Redis, RedisOptions } from 'ioredis';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Injectable, Logger, OnApplicationShutdown, OnModuleInit } from '@nestjs/common';
|
|
2
2
|
import { PassThrough } from 'stream';
|
|
3
3
|
|
|
4
|
-
import { buildContentDisposition } from '../helpers/content-disposition.helper';
|
|
5
|
-
import { ConfigService } from './config.service';
|
|
4
|
+
import { buildContentDisposition } from '../helpers/content-disposition.helper.js';
|
|
5
|
+
import { ConfigService } from './config.service.js';
|
|
6
6
|
|
|
7
|
-
import type { IS3Config } from '../interfaces/server-options.interface';
|
|
7
|
+
import type { IS3Config } from '../interfaces/server-options.interface.js';
|
|
8
8
|
import type { S3Client } from '@aws-sdk/client-s3';
|
|
9
9
|
import type { Readable } from 'stream';
|
|
10
10
|
|
|
@@ -194,6 +194,20 @@ export class CoreS3Service implements OnApplicationShutdown, OnModuleInit {
|
|
|
194
194
|
this.client = new this.sdk.S3Client({
|
|
195
195
|
...(endpoint ? { endpoint } : {}),
|
|
196
196
|
forcePathStyle,
|
|
197
|
+
// Without a logger the SDK writes some warnings straight to `console` — "An error was encountered in
|
|
198
|
+
// a non-retryable streaming request." on every failed or aborted upload stream — outside the app's
|
|
199
|
+
// log levels and format. Warnings go through this service's logger instead. Everything else stays
|
|
200
|
+
// silent, exactly as with the SDK's default NoOpLogger: `info` would add one line per request, and
|
|
201
|
+
// `error` reports every failed command — including the expected 404 of an existence check, which this
|
|
202
|
+
// service already turns into a result or a meaningful error of its own.
|
|
203
|
+
logger: {
|
|
204
|
+
debug: () => undefined,
|
|
205
|
+
error: () => undefined,
|
|
206
|
+
info: () => undefined,
|
|
207
|
+
trace: () => undefined,
|
|
208
|
+
warn: (...content: unknown[]) =>
|
|
209
|
+
this.logger.warn(content.map((part) => (typeof part === 'string' ? part : JSON.stringify(part))).join(' ')),
|
|
210
|
+
},
|
|
197
211
|
region,
|
|
198
212
|
// Fall back to the SDK default credential chain when no keys are configured
|
|
199
213
|
...(accessKeyId && secretAccessKey ? { credentials: { accessKeyId, secretAccessKey } } : {}),
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* returns `true` without deciding anything. This registry is what lets the WebSocket path ask the
|
|
17
17
|
* same question through the same membership logic and cache.
|
|
18
18
|
*/
|
|
19
|
-
import type { IRequestContext } from './request-context.service';
|
|
19
|
+
import type { IRequestContext } from './request-context.service.js';
|
|
20
20
|
|
|
21
21
|
/** The tenant-relevant slice of a request context — everything the Mongoose tenant plugin reads. */
|
|
22
22
|
export type ResolvedTenantContext = Pick<IRequestContext, 'isAdminBypass' | 'tenantId' | 'tenantIds' | 'tenantRole'>;
|
|
@@ -28,6 +28,18 @@ export interface TenantContextResolver {
|
|
|
28
28
|
* validated against an active membership before it is returned
|
|
29
29
|
*/
|
|
30
30
|
resolve(user: { id: string; roles?: string[] } | undefined, headerTenantId?: string): Promise<ResolvedTenantContext>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The narrower answer `CoreTenantGuard` gives an `@Roles(S_EVERYONE)` route: a tenant only from an
|
|
34
|
+
* ACTIVE membership in the tenant the header names (in an active tenant) — no admin bypass, and no
|
|
35
|
+
* fallback to every membership when no tenant is named. For an HTTP route that authenticates its
|
|
36
|
+
* caller itself, after the guards ran without a user (the MCP endpoint and its OAuth access token),
|
|
37
|
+
* so that route scopes the request exactly as the guard would have.
|
|
38
|
+
*
|
|
39
|
+
* Optional because the interface is public. A caller finding it absent establishes no tenant, which
|
|
40
|
+
* leaves the plugin's safety net to refuse tenant-scoped reads.
|
|
41
|
+
*/
|
|
42
|
+
resolveMembership?(user: { id: string; roles?: string[] }, headerTenantId?: string): Promise<ResolvedTenantContext>;
|
|
31
43
|
}
|
|
32
44
|
|
|
33
45
|
let resolver: TenantContextResolver | undefined;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Injectable, Logger, OnApplicationBootstrap, OnModuleInit, Optional } from '@nestjs/common';
|
|
2
2
|
import { HttpAdapterHost } from '@nestjs/core';
|
|
3
3
|
|
|
4
|
-
import { IServerOptions } from '../interfaces/server-options.interface';
|
|
5
|
-
import { ConfigService } from './config.service';
|
|
4
|
+
import { IServerOptions } from '../interfaces/server-options.interface.js';
|
|
5
|
+
import { ConfigService } from './config.service.js';
|
|
6
6
|
|
|
7
7
|
/** Express setting name — the string Express itself keys the compiled trust function off */
|
|
8
8
|
const TRUST_PROXY = 'trust proxy';
|
|
@@ -12,16 +12,16 @@ import {
|
|
|
12
12
|
Types,
|
|
13
13
|
} from 'mongoose';
|
|
14
14
|
|
|
15
|
-
import { FilterArgs } from '../args/filter.args';
|
|
16
|
-
import { getStringIds } from '../helpers/db.helper';
|
|
17
|
-
import { convertFilterArgsToQuery } from '../helpers/filter.helper';
|
|
18
|
-
import { mergePlain, prepareServiceOptionsForCreate } from '../helpers/input.helper';
|
|
19
|
-
import { ServiceOptions } from '../interfaces/service-options.interface';
|
|
20
|
-
import { CoreModel } from '../models/core-model.model';
|
|
21
|
-
import { PaginationInfo } from '../models/pagination-info.model';
|
|
22
|
-
import { PlainObject } from '../types/plain-object.type';
|
|
23
|
-
import { ConfigService } from './config.service';
|
|
24
|
-
import { ModuleService } from './module.service';
|
|
15
|
+
import { FilterArgs } from '../args/filter.args.js';
|
|
16
|
+
import { getStringIds } from '../helpers/db.helper.js';
|
|
17
|
+
import { convertFilterArgsToQuery } from '../helpers/filter.helper.js';
|
|
18
|
+
import { mergePlain, prepareServiceOptionsForCreate } from '../helpers/input.helper.js';
|
|
19
|
+
import { ServiceOptions } from '../interfaces/service-options.interface.js';
|
|
20
|
+
import { CoreModel } from '../models/core-model.model.js';
|
|
21
|
+
import { PaginationInfo } from '../models/pagination-info.model.js';
|
|
22
|
+
import { PlainObject } from '../types/plain-object.type.js';
|
|
23
|
+
import { ConfigService } from './config.service.js';
|
|
24
|
+
import { ModuleService } from './module.service.js';
|
|
25
25
|
|
|
26
26
|
export abstract class CrudService<
|
|
27
27
|
Model extends CoreModel = any,
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { createHash } from 'crypto';
|
|
2
2
|
import { Inject, Injectable, Logger, OnModuleDestroy, Optional } from '@nestjs/common';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
3
|
+
import { createTransport } from 'nodemailer';
|
|
4
|
+
import type { Transporter } from 'nodemailer';
|
|
5
|
+
import type { Attachment } from 'nodemailer/lib/mailer';
|
|
6
|
+
|
|
7
|
+
import { isImpossibleSmtpTlsCombination } from '../helpers/config.helper.js';
|
|
8
|
+
import { isNonEmptyString, isTrue, returnFalse } from '../helpers/input.helper.js';
|
|
9
|
+
import { MailTransportOptions } from '../interfaces/server-options.interface.js';
|
|
10
|
+
import { HUB_EMAIL_CAPTURE } from '../../modules/hub/hub.constants.js';
|
|
11
|
+
import { ConfigService } from './config.service.js';
|
|
12
|
+
import { TemplateService } from './template.service.js';
|
|
13
|
+
import type { IHubEmailCapture } from '../../modules/hub/interfaces/hub-config.interface.js';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Email service
|
|
@@ -20,7 +21,7 @@ export class EmailService implements OnModuleDestroy {
|
|
|
20
21
|
* Cached transporter to avoid creating new SMTP connections per email.
|
|
21
22
|
* Reused as long as the SMTP config hasn't changed.
|
|
22
23
|
*/
|
|
23
|
-
private cachedTransporter:
|
|
24
|
+
private cachedTransporter: Transporter | null = null;
|
|
24
25
|
private cachedSmtpConfig: string | null = null;
|
|
25
26
|
|
|
26
27
|
protected readonly emailServiceLogger = new Logger(EmailService.name);
|
|
@@ -185,7 +186,7 @@ export class EmailService implements OnModuleDestroy {
|
|
|
185
186
|
// Use hash instead of raw JSON to avoid keeping credentials as a string in memory
|
|
186
187
|
const smtpKey = createHash('sha256').update(JSON.stringify(smtp)).digest('hex');
|
|
187
188
|
if (!this.cachedTransporter || this.cachedSmtpConfig !== smtpKey) {
|
|
188
|
-
this.cachedTransporter =
|
|
189
|
+
this.cachedTransporter = createTransport(smtp);
|
|
189
190
|
this.cachedSmtpConfig = smtpKey;
|
|
190
191
|
}
|
|
191
192
|
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { HttpException, Injectable } from '@nestjs/common';
|
|
2
|
-
|
|
2
|
+
import type { Client } from 'node-mailjet';
|
|
3
|
+
import MailjetDefault from 'node-mailjet';
|
|
3
4
|
|
|
4
|
-
import { ConfigService } from './config.service';
|
|
5
|
+
import { ConfigService } from './config.service.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* node-mailjet's declarations say `export default Mailjet`, while its CommonJS build exports the class itself (no
|
|
9
|
+
* `.default`). At runtime both module systems hand the class to a default import; only TypeScript's ESM view types it
|
|
10
|
+
* as the module object. `Mailjet` extends `Client` without changing the constructor, so this is the honest type.
|
|
11
|
+
*/
|
|
12
|
+
const Mailjet = MailjetDefault as unknown as typeof Client;
|
|
5
13
|
|
|
6
14
|
/**
|
|
7
15
|
* Mailjet service
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Injectable, OnApplicationBootstrap } from '@nestjs/common';
|
|
2
2
|
import { InjectConnection } from '@nestjs/mongoose';
|
|
3
|
-
import fs
|
|
4
|
-
import { Connection } from 'mongoose';
|
|
5
|
-
import YumlDiagram
|
|
3
|
+
import * as fs from 'fs';
|
|
4
|
+
import type { Connection } from 'mongoose';
|
|
5
|
+
import YumlDiagram from 'yuml-diagram';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Schema config for yUml creation
|