@starklabs/forge 1.3.25-builtin-configs.0 → 2.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/LICENSE +21 -0
- package/MIGRATION.md +89 -0
- package/README.md +353 -0
- package/dist/account/AccountController.d.ts +18 -0
- package/dist/account/AccountController.d.ts.map +1 -0
- package/dist/account/AccountController.js +93 -0
- package/dist/account/AccountController.js.map +1 -0
- package/dist/account/AccountModule.d.ts +13 -0
- package/dist/account/AccountModule.d.ts.map +1 -0
- package/dist/account/AccountModule.js +35 -0
- package/dist/account/AccountModule.js.map +1 -0
- package/dist/account/RoleController.d.ts +18 -0
- package/dist/account/RoleController.d.ts.map +1 -0
- package/dist/account/RoleController.js +43 -0
- package/dist/account/RoleController.js.map +1 -0
- package/dist/account/index.d.ts +3 -0
- package/dist/account/index.d.ts.map +1 -0
- package/dist/account/index.js +3 -0
- package/dist/account/index.js.map +1 -0
- package/dist/admin/AdminModule.d.ts +19 -0
- package/dist/admin/AdminModule.d.ts.map +1 -0
- package/dist/admin/AdminModule.js +32 -0
- package/dist/admin/AdminModule.js.map +1 -0
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/auth/AccountLinkPolicy.d.ts +17 -0
- package/dist/auth/AccountLinkPolicy.d.ts.map +1 -0
- package/dist/auth/AccountLinkPolicy.js +30 -0
- package/dist/auth/AccountLinkPolicy.js.map +1 -0
- package/dist/auth/AuthController.d.ts +24 -0
- package/dist/auth/AuthController.d.ts.map +1 -0
- package/dist/auth/AuthController.js +99 -0
- package/dist/auth/AuthController.js.map +1 -0
- package/dist/auth/AuthModule.d.ts +24 -0
- package/dist/auth/AuthModule.d.ts.map +1 -0
- package/dist/auth/AuthModule.js +84 -0
- package/dist/auth/AuthModule.js.map +1 -0
- package/dist/auth/AuthService.d.ts +40 -0
- package/dist/auth/AuthService.d.ts.map +1 -0
- package/dist/auth/AuthService.js +119 -0
- package/dist/auth/AuthService.js.map +1 -0
- package/dist/auth/AuthServices.d.ts +43 -0
- package/dist/auth/AuthServices.d.ts.map +1 -0
- package/dist/auth/AuthServices.js +78 -0
- package/dist/auth/AuthServices.js.map +1 -0
- package/dist/auth/CookieWriter.d.ts +26 -0
- package/dist/auth/CookieWriter.d.ts.map +1 -0
- package/dist/auth/CookieWriter.js +53 -0
- package/dist/auth/CookieWriter.js.map +1 -0
- package/dist/auth/LoginCompleter.d.ts +37 -0
- package/dist/auth/LoginCompleter.d.ts.map +1 -0
- package/dist/auth/LoginCompleter.js +32 -0
- package/dist/auth/LoginCompleter.js.map +1 -0
- package/dist/auth/MagicLinkController.d.ts +16 -0
- package/dist/auth/MagicLinkController.d.ts.map +1 -0
- package/dist/auth/MagicLinkController.js +41 -0
- package/dist/auth/MagicLinkController.js.map +1 -0
- package/dist/auth/MagicLinkService.d.ts +45 -0
- package/dist/auth/MagicLinkService.d.ts.map +1 -0
- package/dist/auth/MagicLinkService.js +132 -0
- package/dist/auth/MagicLinkService.js.map +1 -0
- package/dist/auth/MfaController.d.ts +25 -0
- package/dist/auth/MfaController.d.ts.map +1 -0
- package/dist/auth/MfaController.js +67 -0
- package/dist/auth/MfaController.js.map +1 -0
- package/dist/auth/MfaService.d.ts +60 -0
- package/dist/auth/MfaService.d.ts.map +1 -0
- package/dist/auth/MfaService.js +192 -0
- package/dist/auth/MfaService.js.map +1 -0
- package/dist/auth/OtpService.d.ts +43 -0
- package/dist/auth/OtpService.d.ts.map +1 -0
- package/dist/auth/OtpService.js +168 -0
- package/dist/auth/OtpService.js.map +1 -0
- package/dist/auth/SessionResponder.d.ts +37 -0
- package/dist/auth/SessionResponder.d.ts.map +1 -0
- package/dist/auth/SessionResponder.js +49 -0
- package/dist/auth/SessionResponder.js.map +1 -0
- package/dist/auth/SessionService.d.ts +43 -0
- package/dist/auth/SessionService.d.ts.map +1 -0
- package/dist/auth/SessionService.js +122 -0
- package/dist/auth/SessionService.js.map +1 -0
- package/dist/auth/UserProvisioner.d.ts +25 -0
- package/dist/auth/UserProvisioner.d.ts.map +1 -0
- package/dist/auth/UserProvisioner.js +30 -0
- package/dist/auth/UserProvisioner.js.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +7 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/config/Duration.d.ts +21 -0
- package/dist/config/Duration.d.ts.map +1 -0
- package/dist/config/Duration.js +63 -0
- package/dist/config/Duration.js.map +1 -0
- package/dist/config/ForgeConfig.d.ts +131 -0
- package/dist/config/ForgeConfig.d.ts.map +1 -0
- package/dist/config/ForgeConfig.js +425 -0
- package/dist/config/ForgeConfig.js.map +1 -0
- package/dist/config/ForgeOptions.d.ts +202 -0
- package/dist/config/ForgeOptions.d.ts.map +1 -0
- package/dist/config/ForgeOptions.js +2 -0
- package/dist/config/ForgeOptions.js.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +4 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/AccessPolicy.d.ts +33 -0
- package/dist/core/AccessPolicy.d.ts.map +1 -0
- package/dist/core/AccessPolicy.js +60 -0
- package/dist/core/AccessPolicy.js.map +1 -0
- package/dist/core/ActionRunner.d.ts +30 -0
- package/dist/core/ActionRunner.d.ts.map +1 -0
- package/dist/core/ActionRunner.js +59 -0
- package/dist/core/ActionRunner.js.map +1 -0
- package/dist/core/BuiltinCollections.d.ts +24 -0
- package/dist/core/BuiltinCollections.d.ts.map +1 -0
- package/dist/core/BuiltinCollections.js +167 -0
- package/dist/core/BuiltinCollections.js.map +1 -0
- package/dist/core/FeatureModule.d.ts +35 -0
- package/dist/core/FeatureModule.d.ts.map +1 -0
- package/dist/core/FeatureModule.js +116 -0
- package/dist/core/FeatureModule.js.map +1 -0
- package/dist/core/FieldTransformer.d.ts +24 -0
- package/dist/core/FieldTransformer.d.ts.map +1 -0
- package/dist/core/FieldTransformer.js +66 -0
- package/dist/core/FieldTransformer.js.map +1 -0
- package/dist/core/Forge.d.ts +47 -0
- package/dist/core/Forge.d.ts.map +1 -0
- package/dist/core/Forge.js +196 -0
- package/dist/core/Forge.js.map +1 -0
- package/dist/core/Pagination.d.ts +19 -0
- package/dist/core/Pagination.d.ts.map +1 -0
- package/dist/core/Pagination.js +51 -0
- package/dist/core/Pagination.js.map +1 -0
- package/dist/core/ResponseSanitizer.d.ts +18 -0
- package/dist/core/ResponseSanitizer.d.ts.map +1 -0
- package/dist/core/ResponseSanitizer.js +65 -0
- package/dist/core/ResponseSanitizer.js.map +1 -0
- package/dist/core/RouteContext.d.ts +30 -0
- package/dist/core/RouteContext.d.ts.map +1 -0
- package/dist/core/RouteContext.js +66 -0
- package/dist/core/RouteContext.js.map +1 -0
- package/dist/core/ServiceFactory.d.ts +20 -0
- package/dist/core/ServiceFactory.d.ts.map +1 -0
- package/dist/core/ServiceFactory.js +81 -0
- package/dist/core/ServiceFactory.js.map +1 -0
- package/dist/core/Services.d.ts +52 -0
- package/dist/core/Services.d.ts.map +1 -0
- package/dist/core/Services.js +2 -0
- package/dist/core/Services.js.map +1 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +12 -0
- package/dist/core/index.js.map +1 -0
- package/dist/crud/CrudController.d.ts +37 -0
- package/dist/crud/CrudController.d.ts.map +1 -0
- package/dist/crud/CrudController.js +214 -0
- package/dist/crud/CrudController.js.map +1 -0
- package/dist/crud/CrudModule.d.ts +15 -0
- package/dist/crud/CrudModule.d.ts.map +1 -0
- package/dist/crud/CrudModule.js +49 -0
- package/dist/crud/CrudModule.js.map +1 -0
- package/dist/crud/CrudSupport.d.ts +44 -0
- package/dist/crud/CrudSupport.d.ts.map +1 -0
- package/dist/crud/CrudSupport.js +98 -0
- package/dist/crud/CrudSupport.js.map +1 -0
- package/dist/crud/FileController.d.ts +18 -0
- package/dist/crud/FileController.d.ts.map +1 -0
- package/dist/crud/FileController.js +118 -0
- package/dist/crud/FileController.js.map +1 -0
- package/dist/crud/index.d.ts +5 -0
- package/dist/crud/index.d.ts.map +1 -0
- package/dist/crud/index.js +5 -0
- package/dist/crud/index.js.map +1 -0
- package/dist/data/MongooseDataSource.d.ts +32 -0
- package/dist/data/MongooseDataSource.d.ts.map +1 -0
- package/dist/data/MongooseDataSource.js +101 -0
- package/dist/data/MongooseDataSource.js.map +1 -0
- package/dist/data/MongooseRepository.d.ts +24 -0
- package/dist/data/MongooseRepository.d.ts.map +1 -0
- package/dist/data/MongooseRepository.js +91 -0
- package/dist/data/MongooseRepository.js.map +1 -0
- package/dist/data/Repository.d.ts +68 -0
- package/dist/data/Repository.d.ts.map +1 -0
- package/dist/data/Repository.js +2 -0
- package/dist/data/Repository.js.map +1 -0
- package/dist/data/SchemaCompiler.d.ts +18 -0
- package/dist/data/SchemaCompiler.d.ts.map +1 -0
- package/dist/data/SchemaCompiler.js +66 -0
- package/dist/data/SchemaCompiler.js.map +1 -0
- package/dist/data/index.d.ts +6 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +6 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/internalModels.d.ts +17 -0
- package/dist/data/internalModels.d.ts.map +1 -0
- package/dist/data/internalModels.js +95 -0
- package/dist/data/internalModels.js.map +1 -0
- package/dist/data/references.d.ts +14 -0
- package/dist/data/references.d.ts.map +1 -0
- package/dist/data/references.js +20 -0
- package/dist/data/references.js.map +1 -0
- package/dist/email/ConsoleProvider.d.ts +9 -0
- package/dist/email/ConsoleProvider.d.ts.map +1 -0
- package/dist/email/ConsoleProvider.js +11 -0
- package/dist/email/ConsoleProvider.js.map +1 -0
- package/dist/email/EmailProvider.d.ts +11 -0
- package/dist/email/EmailProvider.d.ts.map +1 -0
- package/dist/email/EmailProvider.js +2 -0
- package/dist/email/EmailProvider.js.map +1 -0
- package/dist/email/EmailService.d.ts +28 -0
- package/dist/email/EmailService.d.ts.map +1 -0
- package/dist/email/EmailService.js +98 -0
- package/dist/email/EmailService.js.map +1 -0
- package/dist/email/ResendProvider.d.ts +7 -0
- package/dist/email/ResendProvider.d.ts.map +1 -0
- package/dist/email/ResendProvider.js +20 -0
- package/dist/email/ResendProvider.js.map +1 -0
- package/dist/email/TemplateRenderer.d.ts +18 -0
- package/dist/email/TemplateRenderer.d.ts.map +1 -0
- package/dist/email/TemplateRenderer.js +106 -0
- package/dist/email/TemplateRenderer.js.map +1 -0
- package/dist/email/index.d.ts +7 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +7 -0
- package/dist/email/index.js.map +1 -0
- package/dist/email/templates/account.created.d.ts.map +1 -0
- package/dist/email/templates/account.created.js.map +1 -0
- package/dist/email/templates/account.deleted.d.ts.map +1 -0
- package/dist/email/templates/account.deleted.js.map +1 -0
- package/dist/email/templates/account.updated.d.ts.map +1 -0
- package/dist/email/templates/account.updated.js.map +1 -0
- package/dist/email/templates/announcement.d.ts.map +1 -0
- package/dist/email/templates/announcement.js.map +1 -0
- package/dist/email/templates/api.key.created.d.ts.map +1 -0
- package/dist/email/templates/api.key.created.js.map +1 -0
- package/dist/email/templates/api.key.revoked.d.ts.map +1 -0
- package/dist/email/templates/api.key.revoked.js.map +1 -0
- package/dist/email/templates/contact.form.d.ts.map +1 -0
- package/dist/email/templates/contact.form.js.map +1 -0
- package/dist/email/templates/daily.report.d.ts.map +1 -0
- package/dist/email/templates/daily.report.js.map +1 -0
- package/dist/email/templates/email.changed.d.ts.map +1 -0
- package/dist/email/templates/email.changed.js.map +1 -0
- package/dist/email/templates/feedback.d.ts.map +1 -0
- package/dist/email/templates/feedback.js.map +1 -0
- package/dist/email/templates/index.d.ts.map +1 -0
- package/dist/email/templates/index.js.map +1 -0
- package/dist/email/templates/invoice.d.ts.map +1 -0
- package/dist/email/templates/invoice.js.map +1 -0
- package/dist/email/templates/login.alert.d.ts.map +1 -0
- package/dist/email/templates/login.alert.js.map +1 -0
- package/dist/email/templates/magic.link.d.ts.map +1 -0
- package/dist/email/templates/magic.link.js.map +1 -0
- package/dist/email/templates/maintenance.d.ts.map +1 -0
- package/dist/email/templates/maintenance.js.map +1 -0
- package/dist/email/templates/member.added.d.ts.map +1 -0
- package/dist/email/templates/member.added.js.map +1 -0
- package/dist/email/templates/member.removed.d.ts.map +1 -0
- package/dist/email/templates/member.removed.js.map +1 -0
- package/dist/email/templates/mention.d.ts.map +1 -0
- package/dist/email/templates/mention.js.map +1 -0
- package/dist/email/templates/monthly.report.d.ts.map +1 -0
- package/dist/email/templates/monthly.report.js.map +1 -0
- package/dist/email/templates/new.comment.d.ts.map +1 -0
- package/dist/email/templates/new.comment.js.map +1 -0
- package/dist/email/templates/new.device.login.d.ts.map +1 -0
- package/dist/email/templates/new.device.login.js.map +1 -0
- package/dist/email/templates/new.message.d.ts.map +1 -0
- package/dist/email/templates/new.message.js.map +1 -0
- package/dist/email/templates/notification.d.ts.map +1 -0
- package/dist/email/templates/notification.js.map +1 -0
- package/dist/email/templates/order.cancelled.d.ts.map +1 -0
- package/dist/email/templates/order.cancelled.js.map +1 -0
- package/dist/email/templates/order.confirmation.d.ts.map +1 -0
- package/dist/email/templates/order.confirmation.js.map +1 -0
- package/dist/email/templates/order.delivered.d.ts.map +1 -0
- package/dist/email/templates/order.delivered.js.map +1 -0
- package/dist/email/templates/order.shipped.d.ts.map +1 -0
- package/dist/email/templates/order.shipped.js.map +1 -0
- package/dist/email/templates/organization.invitation.d.ts.map +1 -0
- package/dist/email/templates/organization.invitation.js.map +1 -0
- package/dist/email/templates/otp.verfication.d.ts.map +1 -0
- package/dist/email/templates/otp.verfication.js.map +1 -0
- package/dist/email/templates/password.changed.d.ts.map +1 -0
- package/dist/email/templates/password.changed.js.map +1 -0
- package/dist/email/templates/password.expiring.d.ts.map +1 -0
- package/dist/email/templates/password.expiring.js.map +1 -0
- package/dist/email/templates/password.reset.d.ts.map +1 -0
- package/dist/email/templates/password.reset.js.map +1 -0
- package/dist/email/templates/payment.failed.d.ts.map +1 -0
- package/dist/email/templates/payment.failed.js.map +1 -0
- package/dist/email/templates/payment.success.d.ts.map +1 -0
- package/dist/email/templates/payment.success.js.map +1 -0
- package/dist/email/templates/receipt.d.ts.map +1 -0
- package/dist/email/templates/receipt.js.map +1 -0
- package/dist/email/templates/reminder.d.ts.map +1 -0
- package/dist/email/templates/reminder.js.map +1 -0
- package/dist/email/templates/security.alert.d.ts.map +1 -0
- package/dist/email/templates/security.alert.js.map +1 -0
- package/dist/email/templates/subscription.cancelled.d.ts.map +1 -0
- package/dist/email/templates/subscription.cancelled.js.map +1 -0
- package/dist/email/templates/subscription.created.d.ts.map +1 -0
- package/dist/email/templates/subscription.created.js.map +1 -0
- package/dist/email/templates/subscription.renewed.d.ts.map +1 -0
- package/dist/email/templates/subscription.renewed.js.map +1 -0
- package/dist/email/templates/support.ticket.d.ts.map +1 -0
- package/dist/email/templates/support.ticket.js.map +1 -0
- package/dist/email/templates/team.invitation.d.ts.map +1 -0
- package/dist/email/templates/team.invitation.js.map +1 -0
- package/dist/email/templates/trial.ending.d.ts.map +1 -0
- package/dist/email/templates/trial.ending.js.map +1 -0
- package/dist/email/templates/two.factor.code.d.ts.map +1 -0
- package/dist/email/templates/two.factor.code.js.map +1 -0
- package/dist/email/templates/verify.email.d.ts.map +1 -0
- package/dist/email/templates/verify.email.js.map +1 -0
- package/dist/email/templates/weekly.report.d.ts.map +1 -0
- package/dist/email/templates/weekly.report.js.map +1 -0
- package/dist/email/templates/welcome.d.ts.map +1 -0
- package/dist/email/templates/welcome.js.map +1 -0
- package/dist/email/utils/AutoFields.d.ts +19 -0
- package/dist/email/utils/AutoFields.d.ts.map +1 -0
- package/dist/email/utils/AutoFields.js +61 -0
- package/dist/email/utils/AutoFields.js.map +1 -0
- package/dist/email/utils/auto-fields.type.d.ts.map +1 -0
- package/dist/email/utils/auto-fields.type.js.map +1 -0
- package/dist/errors/AppError.d.ts +89 -0
- package/dist/errors/AppError.d.ts.map +1 -0
- package/dist/errors/AppError.js +108 -0
- package/dist/errors/AppError.js.map +1 -0
- package/dist/errors/ErrorCode.d.ts +85 -0
- package/dist/errors/ErrorCode.d.ts.map +1 -0
- package/dist/errors/ErrorCode.js +95 -0
- package/dist/errors/ErrorCode.js.map +1 -0
- package/dist/errors/ErrorTranslator.d.ts +17 -0
- package/dist/errors/ErrorTranslator.d.ts.map +1 -0
- package/dist/errors/ErrorTranslator.js +184 -0
- package/dist/errors/ErrorTranslator.js.map +1 -0
- package/dist/errors/index.d.ts +4 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +4 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/fields/mongoose.fields.d.ts +52 -0
- package/dist/fields/mongoose.fields.d.ts.map +1 -0
- package/dist/fields/mongoose.fields.js +385 -0
- package/dist/fields/mongoose.fields.js.map +1 -0
- package/dist/fields/mongoose.types.d.ts +81 -0
- package/dist/fields/mongoose.types.d.ts.map +1 -0
- package/dist/fields/mongoose.types.js +2 -0
- package/dist/fields/mongoose.types.js.map +1 -0
- package/dist/fields/oauth.providers.d.ts +3 -0
- package/dist/fields/oauth.providers.d.ts.map +1 -0
- package/dist/fields/oauth.providers.js +18 -0
- package/dist/fields/oauth.providers.js.map +1 -0
- package/dist/fields/otp.purposes.d.ts +3 -0
- package/dist/fields/otp.purposes.d.ts.map +1 -0
- package/dist/fields/otp.purposes.js +45 -0
- package/dist/fields/otp.purposes.js.map +1 -0
- package/dist/fields/roles.d.ts.map +1 -0
- package/dist/fields/roles.js.map +1 -0
- package/dist/fields/unified.fields.d.ts +57 -0
- package/dist/fields/unified.fields.d.ts.map +1 -0
- package/dist/fields/unified.fields.js +616 -0
- package/dist/fields/unified.fields.js.map +1 -0
- package/dist/fields/unified.types.d.ts +12 -0
- package/dist/fields/unified.types.d.ts.map +1 -0
- package/dist/fields/unified.types.js.map +1 -0
- package/dist/fields/zod.fields.d.ts +181 -0
- package/dist/fields/zod.fields.d.ts.map +1 -0
- package/dist/fields/zod.fields.js +196 -0
- package/dist/fields/zod.fields.js.map +1 -0
- package/dist/health/HealthModule.d.ts +10 -0
- package/dist/health/HealthModule.d.ts.map +1 -0
- package/dist/health/HealthModule.js +34 -0
- package/dist/health/HealthModule.js.map +1 -0
- package/dist/health/index.d.ts +2 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +2 -0
- package/dist/health/index.js.map +1 -0
- package/dist/http/Authenticator.d.ts +30 -0
- package/dist/http/Authenticator.d.ts.map +1 -0
- package/dist/http/Authenticator.js +84 -0
- package/dist/http/Authenticator.js.map +1 -0
- package/dist/http/ResponseWriter.d.ts +21 -0
- package/dist/http/ResponseWriter.d.ts.map +1 -0
- package/dist/http/ResponseWriter.js +16 -0
- package/dist/http/ResponseWriter.js.map +1 -0
- package/dist/http/index.d.ts +8 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +8 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/middleware/ErrorHandler.d.ts +15 -0
- package/dist/http/middleware/ErrorHandler.d.ts.map +1 -0
- package/dist/http/middleware/ErrorHandler.js +56 -0
- package/dist/http/middleware/ErrorHandler.js.map +1 -0
- package/dist/http/middleware/InputSanitizer.d.ts +4 -0
- package/dist/http/middleware/InputSanitizer.d.ts.map +1 -0
- package/dist/http/middleware/InputSanitizer.js +9 -0
- package/dist/http/middleware/InputSanitizer.js.map +1 -0
- package/dist/http/middleware/OriginGuard.d.ts +11 -0
- package/dist/http/middleware/OriginGuard.d.ts.map +1 -0
- package/dist/http/middleware/OriginGuard.js +26 -0
- package/dist/http/middleware/OriginGuard.js.map +1 -0
- package/dist/http/middleware/RateLimiters.d.ts +15 -0
- package/dist/http/middleware/RateLimiters.d.ts.map +1 -0
- package/dist/http/middleware/RateLimiters.js +36 -0
- package/dist/http/middleware/RateLimiters.js.map +1 -0
- package/dist/http/middleware/RequestContext.d.ts +4 -0
- package/dist/http/middleware/RequestContext.d.ts.map +1 -0
- package/dist/http/middleware/RequestContext.js +10 -0
- package/dist/http/middleware/RequestContext.js.map +1 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/oauth/GitHubProvider.d.ts +19 -0
- package/dist/oauth/GitHubProvider.d.ts.map +1 -0
- package/dist/oauth/GitHubProvider.js +38 -0
- package/dist/oauth/GitHubProvider.js.map +1 -0
- package/dist/oauth/GoogleProvider.d.ts +16 -0
- package/dist/oauth/GoogleProvider.d.ts.map +1 -0
- package/dist/oauth/GoogleProvider.js +29 -0
- package/dist/oauth/GoogleProvider.js.map +1 -0
- package/dist/oauth/OAuthController.d.ts +21 -0
- package/dist/oauth/OAuthController.d.ts.map +1 -0
- package/dist/oauth/OAuthController.js +89 -0
- package/dist/oauth/OAuthController.js.map +1 -0
- package/dist/oauth/OAuthProvider.d.ts +80 -0
- package/dist/oauth/OAuthProvider.d.ts.map +1 -0
- package/dist/oauth/OAuthProvider.js +127 -0
- package/dist/oauth/OAuthProvider.js.map +1 -0
- package/dist/oauth/OAuthProviderFactory.d.ts +21 -0
- package/dist/oauth/OAuthProviderFactory.d.ts.map +1 -0
- package/dist/oauth/OAuthProviderFactory.js +35 -0
- package/dist/oauth/OAuthProviderFactory.js.map +1 -0
- package/dist/oauth/OAuthProviderRegistry.d.ts +11 -0
- package/dist/oauth/OAuthProviderRegistry.d.ts.map +1 -0
- package/dist/oauth/OAuthProviderRegistry.js +41 -0
- package/dist/oauth/OAuthProviderRegistry.js.map +1 -0
- package/dist/oauth/OAuthService.d.ts +62 -0
- package/dist/oauth/OAuthService.d.ts.map +1 -0
- package/dist/oauth/OAuthService.js +132 -0
- package/dist/oauth/OAuthService.js.map +1 -0
- package/dist/oauth/index.d.ts +10 -0
- package/dist/oauth/index.d.ts.map +1 -0
- package/dist/oauth/index.js +10 -0
- package/dist/oauth/index.js.map +1 -0
- package/dist/oauth/pkce.d.ts +8 -0
- package/dist/oauth/pkce.d.ts.map +1 -0
- package/dist/oauth/pkce.js +9 -0
- package/dist/oauth/pkce.js.map +1 -0
- package/dist/oauth/returnPath.d.ts +7 -0
- package/dist/oauth/returnPath.d.ts.map +1 -0
- package/dist/oauth/returnPath.js +22 -0
- package/dist/oauth/returnPath.js.map +1 -0
- package/dist/security/CryptoVault.d.ts +28 -0
- package/dist/security/CryptoVault.d.ts.map +1 -0
- package/dist/security/CryptoVault.js +85 -0
- package/dist/security/CryptoVault.js.map +1 -0
- package/dist/security/PasswordHasher.d.ts +22 -0
- package/dist/security/PasswordHasher.d.ts.map +1 -0
- package/dist/security/PasswordHasher.js +64 -0
- package/dist/security/PasswordHasher.js.map +1 -0
- package/dist/security/Sodium.d.ts +4 -0
- package/dist/security/Sodium.d.ts.map +1 -0
- package/dist/security/Sodium.js +7 -0
- package/dist/security/Sodium.js.map +1 -0
- package/dist/security/TokenService.d.ts +63 -0
- package/dist/security/TokenService.d.ts.map +1 -0
- package/dist/security/TokenService.js +141 -0
- package/dist/security/TokenService.js.map +1 -0
- package/dist/security/Totp.d.ts +46 -0
- package/dist/security/Totp.d.ts.map +1 -0
- package/dist/security/Totp.js +111 -0
- package/dist/security/Totp.js.map +1 -0
- package/dist/security/index.d.ts +4 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +4 -0
- package/dist/security/index.js.map +1 -0
- package/dist/terminal/BannerPrinter.d.ts +9 -0
- package/dist/terminal/BannerPrinter.d.ts.map +1 -0
- package/dist/terminal/BannerPrinter.js +36 -0
- package/dist/terminal/BannerPrinter.js.map +1 -0
- package/dist/terminal/banner.d.ts +25 -0
- package/dist/terminal/banner.d.ts.map +1 -0
- package/dist/terminal/banner.js +242 -0
- package/dist/terminal/banner.js.map +1 -0
- package/dist/terminal/index.d.ts +2 -0
- package/dist/terminal/index.d.ts.map +1 -0
- package/dist/terminal/index.js +2 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/testing/FakeOAuthServer.d.ts +64 -0
- package/dist/testing/FakeOAuthServer.d.ts.map +1 -0
- package/dist/testing/FakeOAuthServer.js +117 -0
- package/dist/testing/FakeOAuthServer.js.map +1 -0
- package/dist/testing/InMemoryDataSource.d.ts +15 -0
- package/dist/testing/InMemoryDataSource.d.ts.map +1 -0
- package/dist/testing/InMemoryDataSource.js +31 -0
- package/dist/testing/InMemoryDataSource.js.map +1 -0
- package/dist/testing/InMemoryRepository.d.ts +51 -0
- package/dist/testing/InMemoryRepository.d.ts.map +1 -0
- package/dist/testing/InMemoryRepository.js +252 -0
- package/dist/testing/InMemoryRepository.js.map +1 -0
- package/dist/testing/TestClient.d.ts +29 -0
- package/dist/testing/TestClient.d.ts.map +1 -0
- package/dist/testing/TestClient.js +71 -0
- package/dist/testing/TestClient.js.map +1 -0
- package/dist/testing/createTestForge.d.ts +44 -0
- package/dist/testing/createTestForge.d.ts.map +1 -0
- package/dist/testing/createTestForge.js +65 -0
- package/dist/testing/createTestForge.js.map +1 -0
- package/dist/testing/fakes.d.ts +36 -0
- package/dist/testing/fakes.d.ts.map +1 -0
- package/dist/testing/fakes.js +70 -0
- package/dist/testing/fakes.js.map +1 -0
- package/dist/testing/index.d.ts +7 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/types/ActionHandler.d.ts +66 -0
- package/dist/types/ActionHandler.d.ts.map +1 -0
- package/dist/types/ActionHandler.js.map +1 -0
- package/dist/types/AuthenticatedUser.d.ts +6 -0
- package/dist/types/AuthenticatedUser.d.ts.map +1 -0
- package/dist/types/AuthenticatedUser.js +2 -0
- package/dist/types/AuthenticatedUser.js.map +1 -0
- package/dist/types/Collection.d.ts +44 -0
- package/dist/types/Collection.d.ts.map +1 -0
- package/dist/types/Collection.js.map +1 -0
- package/dist/types/EmailActionTemplate.d.ts.map +1 -0
- package/dist/types/EmailActionTemplate.js.map +1 -0
- package/dist/types/Route.d.ts +100 -0
- package/dist/types/Route.d.ts.map +1 -0
- package/dist/types/Route.js.map +1 -0
- package/dist/types/Routepath.d.ts +2 -0
- package/dist/types/Routepath.d.ts.map +1 -0
- package/dist/types/Routepath.js +2 -0
- package/dist/types/Routepath.js.map +1 -0
- package/dist/types/StoreFile.d.ts +12 -0
- package/dist/types/StoreFile.d.ts.map +1 -0
- package/dist/types/StoreFile.js.map +1 -0
- package/dist/types/email/account.created.type.d.ts +10 -0
- package/dist/types/email/account.created.type.d.ts.map +1 -0
- package/dist/types/email/account.created.type.js.map +1 -0
- package/dist/types/email/account.deleted.type.d.ts +10 -0
- package/dist/types/email/account.deleted.type.d.ts.map +1 -0
- package/dist/types/email/account.deleted.type.js.map +1 -0
- package/dist/types/email/account.updated.type.d.ts +12 -0
- package/dist/types/email/account.updated.type.d.ts.map +1 -0
- package/dist/types/email/account.updated.type.js.map +1 -0
- package/dist/types/email/announcement.type.d.ts +13 -0
- package/dist/types/email/announcement.type.d.ts.map +1 -0
- package/dist/types/email/announcement.type.js.map +1 -0
- package/dist/types/email/api.key.created.type.d.ts +14 -0
- package/dist/types/email/api.key.created.type.d.ts.map +1 -0
- package/dist/types/email/api.key.created.type.js.map +1 -0
- package/dist/types/email/api.key.revoked.type.d.ts +14 -0
- package/dist/types/email/api.key.revoked.type.d.ts.map +1 -0
- package/dist/types/email/api.key.revoked.type.js.map +1 -0
- package/dist/types/email/contact.form.type.d.ts +11 -0
- package/dist/types/email/contact.form.type.d.ts.map +1 -0
- package/dist/types/email/contact.form.type.js.map +1 -0
- package/dist/types/email/daily.report.type.d.ts +14 -0
- package/dist/types/email/daily.report.type.d.ts.map +1 -0
- package/dist/types/email/daily.report.type.js.map +1 -0
- package/dist/types/email/email.changed.type.d.ts +12 -0
- package/dist/types/email/email.changed.type.d.ts.map +1 -0
- package/dist/types/email/email.changed.type.js.map +1 -0
- package/dist/types/email/feedback.type.d.ts +11 -0
- package/dist/types/email/feedback.type.d.ts.map +1 -0
- package/dist/types/email/feedback.type.js.map +1 -0
- package/dist/types/email/index.d.ts.map +1 -0
- package/dist/types/email/index.js.map +1 -0
- package/dist/types/email/invoice.type.d.ts +14 -0
- package/dist/types/email/invoice.type.d.ts.map +1 -0
- package/dist/types/email/invoice.type.js.map +1 -0
- package/dist/types/email/login.alert.type.d.ts +12 -0
- package/dist/types/email/login.alert.type.d.ts.map +1 -0
- package/dist/types/email/login.alert.type.js.map +1 -0
- package/dist/types/email/magic.link.type.d.ts +11 -0
- package/dist/types/email/magic.link.type.d.ts.map +1 -0
- package/dist/types/email/magic.link.type.js.map +1 -0
- package/dist/types/email/maintenance.type.d.ts +13 -0
- package/dist/types/email/maintenance.type.d.ts.map +1 -0
- package/dist/types/email/maintenance.type.js.map +1 -0
- package/dist/types/email/member.added.type.d.ts +14 -0
- package/dist/types/email/member.added.type.d.ts.map +1 -0
- package/dist/types/email/member.added.type.js.map +1 -0
- package/dist/types/email/member.removed.type.d.ts +14 -0
- package/dist/types/email/member.removed.type.d.ts.map +1 -0
- package/dist/types/email/member.removed.type.js.map +1 -0
- package/dist/types/email/mention.type.d.ts +12 -0
- package/dist/types/email/mention.type.d.ts.map +1 -0
- package/dist/types/email/mention.type.js.map +1 -0
- package/dist/types/email/monthly.report.type.d.ts +14 -0
- package/dist/types/email/monthly.report.type.d.ts.map +1 -0
- package/dist/types/email/monthly.report.type.js.map +1 -0
- package/dist/types/email/new.comment.type.d.ts +12 -0
- package/dist/types/email/new.comment.type.d.ts.map +1 -0
- package/dist/types/email/new.comment.type.js.map +1 -0
- package/dist/types/email/new.device.login.type.d.ts +11 -0
- package/dist/types/email/new.device.login.type.d.ts.map +1 -0
- package/dist/types/email/new.device.login.type.js.map +1 -0
- package/dist/types/email/new.message.type.d.ts +11 -0
- package/dist/types/email/new.message.type.d.ts.map +1 -0
- package/dist/types/email/new.message.type.js.map +1 -0
- package/dist/types/email/notification.type.d.ts +13 -0
- package/dist/types/email/notification.type.d.ts.map +1 -0
- package/dist/types/email/notification.type.js.map +1 -0
- package/dist/types/email/order.cancelled.type.d.ts +12 -0
- package/dist/types/email/order.cancelled.type.d.ts.map +1 -0
- package/dist/types/email/order.cancelled.type.js.map +1 -0
- package/dist/types/email/order.confirmation.type.d.ts +13 -0
- package/dist/types/email/order.confirmation.type.d.ts.map +1 -0
- package/dist/types/email/order.confirmation.type.js.map +1 -0
- package/dist/types/email/order.delivered.type.d.ts +12 -0
- package/dist/types/email/order.delivered.type.d.ts.map +1 -0
- package/dist/types/email/order.delivered.type.js.map +1 -0
- package/dist/types/email/order.shipped.type.d.ts +14 -0
- package/dist/types/email/order.shipped.type.d.ts.map +1 -0
- package/dist/types/email/order.shipped.type.js.map +1 -0
- package/dist/types/email/organization.invitation.type.d.ts +13 -0
- package/dist/types/email/organization.invitation.type.d.ts.map +1 -0
- package/dist/types/email/organization.invitation.type.js.map +1 -0
- package/dist/types/email/otp.verification.type.d.ts +11 -0
- package/dist/types/email/otp.verification.type.d.ts.map +1 -0
- package/dist/types/email/otp.verification.type.js.map +1 -0
- package/dist/types/email/password.changed.type.d.ts +12 -0
- package/dist/types/email/password.changed.type.d.ts.map +1 -0
- package/dist/types/email/password.changed.type.js.map +1 -0
- package/dist/types/email/password.expiring.type.d.ts +12 -0
- package/dist/types/email/password.expiring.type.d.ts.map +1 -0
- package/dist/types/email/password.expiring.type.js.map +1 -0
- package/dist/types/email/password.reset.type.d.ts +11 -0
- package/dist/types/email/password.reset.type.d.ts.map +1 -0
- package/dist/types/email/password.reset.type.js.map +1 -0
- package/dist/types/email/payment.failed.type.d.ts +14 -0
- package/dist/types/email/payment.failed.type.d.ts.map +1 -0
- package/dist/types/email/payment.failed.type.js.map +1 -0
- package/dist/types/email/payment.success.type.d.ts +13 -0
- package/dist/types/email/payment.success.type.d.ts.map +1 -0
- package/dist/types/email/payment.success.type.js.map +1 -0
- package/dist/types/email/receipt.type.d.ts +14 -0
- package/dist/types/email/receipt.type.d.ts.map +1 -0
- package/dist/types/email/receipt.type.js.map +1 -0
- package/dist/types/email/reminder.type.d.ts +12 -0
- package/dist/types/email/reminder.type.d.ts.map +1 -0
- package/dist/types/email/reminder.type.js.map +1 -0
- package/dist/types/email/security.alert.type.d.ts +12 -0
- package/dist/types/email/security.alert.type.d.ts.map +1 -0
- package/dist/types/email/security.alert.type.js.map +1 -0
- package/dist/types/email/static-config.type.d.ts.map +1 -0
- package/dist/types/email/static-config.type.js.map +1 -0
- package/dist/types/email/subscription.cancelled.type.d.ts +12 -0
- package/dist/types/email/subscription.cancelled.type.d.ts.map +1 -0
- package/dist/types/email/subscription.cancelled.type.js.map +1 -0
- package/dist/types/email/subscription.created.type.d.ts +13 -0
- package/dist/types/email/subscription.created.type.d.ts.map +1 -0
- package/dist/types/email/subscription.created.type.js.map +1 -0
- package/dist/types/email/subscription.renewed.type.d.ts +14 -0
- package/dist/types/email/subscription.renewed.type.d.ts.map +1 -0
- package/dist/types/email/subscription.renewed.type.js.map +1 -0
- package/dist/types/email/support.ticket.type.d.ts +14 -0
- package/dist/types/email/support.ticket.type.d.ts.map +1 -0
- package/dist/types/email/support.ticket.type.js.map +1 -0
- package/dist/types/email/team.invitation.type.d.ts +13 -0
- package/dist/types/email/team.invitation.type.d.ts.map +1 -0
- package/dist/types/email/team.invitation.type.js.map +1 -0
- package/dist/types/email/trial.ending.type.d.ts +13 -0
- package/dist/types/email/trial.ending.type.d.ts.map +1 -0
- package/dist/types/email/trial.ending.type.js.map +1 -0
- package/dist/types/email/two.factor.code.type.d.ts +11 -0
- package/dist/types/email/two.factor.code.type.d.ts.map +1 -0
- package/dist/types/email/two.factor.code.type.js.map +1 -0
- package/dist/types/email/verify.email.type.d.ts +11 -0
- package/dist/types/email/verify.email.type.d.ts.map +1 -0
- package/dist/types/email/verify.email.type.js.map +1 -0
- package/dist/types/email/weekly.report.type.d.ts +14 -0
- package/dist/types/email/weekly.report.type.d.ts.map +1 -0
- package/dist/types/email/weekly.report.type.js.map +1 -0
- package/dist/types/email/welcome.type.d.ts +10 -0
- package/dist/types/email/welcome.type.d.ts.map +1 -0
- package/dist/types/email/welcome.type.js.map +1 -0
- package/dist/types/email.d.ts.map +1 -0
- package/dist/types/email.js.map +1 -0
- package/dist/types/express.d.ts +13 -0
- package/dist/types/express.d.ts.map +1 -0
- package/dist/types/express.js +2 -0
- package/dist/types/express.js.map +1 -0
- package/dist/types/handlers.d.ts +22 -0
- package/dist/types/handlers.d.ts.map +1 -0
- package/dist/types/handlers.js +45 -0
- package/dist/types/handlers.js.map +1 -0
- package/dist/types/upload.d.ts +34 -0
- package/dist/types/upload.d.ts.map +1 -0
- package/dist/types/upload.js.map +1 -0
- package/dist/upload/CloudinaryStorage.d.ts +19 -0
- package/dist/upload/CloudinaryStorage.d.ts.map +1 -0
- package/dist/upload/CloudinaryStorage.js +44 -0
- package/dist/upload/CloudinaryStorage.js.map +1 -0
- package/dist/upload/FileTypeSniffer.d.ts +5 -0
- package/dist/upload/FileTypeSniffer.d.ts.map +1 -0
- package/dist/upload/FileTypeSniffer.js +27 -0
- package/dist/upload/FileTypeSniffer.js.map +1 -0
- package/dist/upload/StorageProvider.d.ts +17 -0
- package/dist/upload/StorageProvider.d.ts.map +1 -0
- package/dist/upload/StorageProvider.js +2 -0
- package/dist/upload/StorageProvider.js.map +1 -0
- package/dist/upload/UploadService.d.ts +40 -0
- package/dist/upload/UploadService.d.ts.map +1 -0
- package/dist/upload/UploadService.js +143 -0
- package/dist/upload/UploadService.js.map +1 -0
- package/dist/upload/index.d.ts +5 -0
- package/dist/upload/index.d.ts.map +1 -0
- package/dist/upload/index.js +5 -0
- package/dist/upload/index.js.map +1 -0
- package/dist/utils/Logger.d.ts +22 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +44 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/html.d.ts +7 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +24 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/ids.d.ts +7 -0
- package/dist/utils/ids.d.ts.map +1 -0
- package/dist/utils/ids.js +25 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/sanitizeInput.d.ts +9 -0
- package/dist/utils/sanitizeInput.d.ts.map +1 -0
- package/dist/utils/sanitizeInput.js +32 -0
- package/dist/utils/sanitizeInput.js.map +1 -0
- package/package.json +37 -30
- package/dist/js/account/account.collection.d.ts +0 -4
- package/dist/js/account/account.collection.d.ts.map +0 -1
- package/dist/js/account/account.collection.js +0 -17
- package/dist/js/account/account.collection.js.map +0 -1
- package/dist/js/account/builtin/account.collection.d.ts +0 -4
- package/dist/js/account/builtin/account.collection.d.ts.map +0 -1
- package/dist/js/account/builtin/account.collection.js +0 -33
- package/dist/js/account/builtin/account.collection.js.map +0 -1
- package/dist/js/account/bunch.account.d.ts +0 -4
- package/dist/js/account/bunch.account.d.ts.map +0 -1
- package/dist/js/account/bunch.account.js +0 -4
- package/dist/js/account/bunch.account.js.map +0 -1
- package/dist/js/account/get.d.ts +0 -10
- package/dist/js/account/get.d.ts.map +0 -1
- package/dist/js/account/get.js +0 -7
- package/dist/js/account/get.js.map +0 -1
- package/dist/js/account/index.d.ts +0 -5
- package/dist/js/account/index.d.ts.map +0 -1
- package/dist/js/account/index.js +0 -38
- package/dist/js/account/index.js.map +0 -1
- package/dist/js/account/me/get.d.ts +0 -10
- package/dist/js/account/me/get.d.ts.map +0 -1
- package/dist/js/account/me/get.js +0 -7
- package/dist/js/account/me/get.js.map +0 -1
- package/dist/js/account/me.delete.d.ts +0 -8
- package/dist/js/account/me.delete.d.ts.map +0 -1
- package/dist/js/account/me.delete.js +0 -39
- package/dist/js/account/me.delete.js.map +0 -1
- package/dist/js/account/me.get.d.ts +0 -7
- package/dist/js/account/me.get.d.ts.map +0 -1
- package/dist/js/account/me.get.js +0 -17
- package/dist/js/account/me.get.js.map +0 -1
- package/dist/js/account/me.update.d.ts +0 -9
- package/dist/js/account/me.update.d.ts.map +0 -1
- package/dist/js/account/me.update.js +0 -52
- package/dist/js/account/me.update.js.map +0 -1
- package/dist/js/admin/builtin/admin.collection.d.ts +0 -4
- package/dist/js/admin/builtin/admin.collection.d.ts.map +0 -1
- package/dist/js/admin/builtin/admin.collection.js +0 -17
- package/dist/js/admin/builtin/admin.collection.js.map +0 -1
- package/dist/js/admin/bunch.admin.d.ts +0 -3
- package/dist/js/admin/bunch.admin.d.ts.map +0 -1
- package/dist/js/admin/bunch.admin.js +0 -3
- package/dist/js/admin/bunch.admin.js.map +0 -1
- package/dist/js/admin/check.admin.d.ts +0 -2
- package/dist/js/admin/check.admin.d.ts.map +0 -1
- package/dist/js/admin/check.admin.js +0 -2
- package/dist/js/admin/check.admin.js.map +0 -1
- package/dist/js/admin/check.d.ts +0 -7
- package/dist/js/admin/check.d.ts.map +0 -1
- package/dist/js/admin/check.js +0 -38
- package/dist/js/admin/check.js.map +0 -1
- package/dist/js/admin/index.d.ts +0 -5
- package/dist/js/admin/index.d.ts.map +0 -1
- package/dist/js/admin/index.js +0 -49
- package/dist/js/admin/index.js.map +0 -1
- package/dist/js/app.d.ts +0 -5
- package/dist/js/app.d.ts.map +0 -1
- package/dist/js/app.js +0 -104
- package/dist/js/app.js.map +0 -1
- package/dist/js/auth/auth.collection.d.ts +0 -4
- package/dist/js/auth/auth.collection.d.ts.map +0 -1
- package/dist/js/auth/auth.collection.js +0 -58
- package/dist/js/auth/auth.collection.js.map +0 -1
- package/dist/js/auth/auth.collections.d.ts +0 -2
- package/dist/js/auth/auth.collections.d.ts.map +0 -1
- package/dist/js/auth/auth.collections.js +0 -2
- package/dist/js/auth/auth.collections.js.map +0 -1
- package/dist/js/auth/builtin/auth.collection.d.ts +0 -4
- package/dist/js/auth/builtin/auth.collection.d.ts.map +0 -1
- package/dist/js/auth/builtin/auth.collection.js +0 -87
- package/dist/js/auth/builtin/auth.collection.js.map +0 -1
- package/dist/js/auth/builtin/getValidations.d.ts +0 -11
- package/dist/js/auth/builtin/getValidations.d.ts.map +0 -1
- package/dist/js/auth/builtin/getValidations.js +0 -51
- package/dist/js/auth/builtin/getValidations.js.map +0 -1
- package/dist/js/auth/bunch.auth.d.ts +0 -9
- package/dist/js/auth/bunch.auth.d.ts.map +0 -1
- package/dist/js/auth/bunch.auth.js +0 -9
- package/dist/js/auth/bunch.auth.js.map +0 -1
- package/dist/js/auth/createOTPModel.d.ts +0 -2
- package/dist/js/auth/createOTPModel.d.ts.map +0 -1
- package/dist/js/auth/createOTPModel.js +0 -2
- package/dist/js/auth/createOTPModel.js.map +0 -1
- package/dist/js/auth/forgotPassword.d.ts +0 -10
- package/dist/js/auth/forgotPassword.d.ts.map +0 -1
- package/dist/js/auth/forgotPassword.js +0 -46
- package/dist/js/auth/forgotPassword.js.map +0 -1
- package/dist/js/auth/index.d.ts +0 -5
- package/dist/js/auth/index.d.ts.map +0 -1
- package/dist/js/auth/index.js +0 -46
- package/dist/js/auth/index.js.map +0 -1
- package/dist/js/auth/login.d.ts +0 -10
- package/dist/js/auth/login.d.ts.map +0 -1
- package/dist/js/auth/login.js +0 -39
- package/dist/js/auth/login.js.map +0 -1
- package/dist/js/auth/logout.d.ts +0 -5
- package/dist/js/auth/logout.d.ts.map +0 -1
- package/dist/js/auth/logout.js +0 -41
- package/dist/js/auth/logout.js.map +0 -1
- package/dist/js/auth/me.d.ts +0 -2
- package/dist/js/auth/me.d.ts.map +0 -1
- package/dist/js/auth/me.js +0 -2
- package/dist/js/auth/me.js.map +0 -1
- package/dist/js/auth/refresh.d.ts +0 -7
- package/dist/js/auth/refresh.d.ts.map +0 -1
- package/dist/js/auth/refresh.js +0 -76
- package/dist/js/auth/refresh.js.map +0 -1
- package/dist/js/auth/resendOTP.d.ts +0 -10
- package/dist/js/auth/resendOTP.d.ts.map +0 -1
- package/dist/js/auth/resendOTP.js +0 -78
- package/dist/js/auth/resendOTP.js.map +0 -1
- package/dist/js/auth/resetPassword.d.ts +0 -10
- package/dist/js/auth/resetPassword.d.ts.map +0 -1
- package/dist/js/auth/resetPassword.js +0 -75
- package/dist/js/auth/resetPassword.js.map +0 -1
- package/dist/js/auth/sendOTP.d.ts +0 -6
- package/dist/js/auth/sendOTP.d.ts.map +0 -1
- package/dist/js/auth/sendOTP.js +0 -28
- package/dist/js/auth/sendOTP.js.map +0 -1
- package/dist/js/auth/signup.d.ts +0 -10
- package/dist/js/auth/signup.d.ts.map +0 -1
- package/dist/js/auth/signup.js +0 -52
- package/dist/js/auth/signup.js.map +0 -1
- package/dist/js/auth/twoFactorAuth.d.ts +0 -2
- package/dist/js/auth/twoFactorAuth.d.ts.map +0 -1
- package/dist/js/auth/twoFactorAuth.js +0 -3
- package/dist/js/auth/twoFactorAuth.js.map +0 -1
- package/dist/js/auth/utils/UAParser.d.ts +0 -11
- package/dist/js/auth/utils/UAParser.d.ts.map +0 -1
- package/dist/js/auth/utils/UAParser.js +0 -16
- package/dist/js/auth/utils/UAParser.js.map +0 -1
- package/dist/js/auth/utils/authenticateUser.d.ts +0 -12
- package/dist/js/auth/utils/authenticateUser.d.ts.map +0 -1
- package/dist/js/auth/utils/authenticateUser.js +0 -99
- package/dist/js/auth/utils/authenticateUser.js.map +0 -1
- package/dist/js/auth/utils/createOTPModel.d.ts +0 -4
- package/dist/js/auth/utils/createOTPModel.d.ts.map +0 -1
- package/dist/js/auth/utils/createOTPModel.js +0 -49
- package/dist/js/auth/utils/createOTPModel.js.map +0 -1
- package/dist/js/auth/utils/createOTPUser.d.ts +0 -12
- package/dist/js/auth/utils/createOTPUser.d.ts.map +0 -1
- package/dist/js/auth/utils/createOTPUser.js +0 -76
- package/dist/js/auth/utils/createOTPUser.js.map +0 -1
- package/dist/js/auth/utils/createUser.d.ts +0 -12
- package/dist/js/auth/utils/createUser.d.ts.map +0 -1
- package/dist/js/auth/utils/createUser.js +0 -89
- package/dist/js/auth/utils/createUser.js.map +0 -1
- package/dist/js/auth/utils/deleteOTPUser.d.ts +0 -3
- package/dist/js/auth/utils/deleteOTPUser.d.ts.map +0 -1
- package/dist/js/auth/utils/deleteOTPUser.js +0 -3
- package/dist/js/auth/utils/deleteOTPUser.js.map +0 -1
- package/dist/js/auth/utils/findRefreshToken.d.ts +0 -4
- package/dist/js/auth/utils/findRefreshToken.d.ts.map +0 -1
- package/dist/js/auth/utils/findRefreshToken.js +0 -33
- package/dist/js/auth/utils/findRefreshToken.js.map +0 -1
- package/dist/js/auth/utils/findRefreshTokenUser.d.ts +0 -4
- package/dist/js/auth/utils/findRefreshTokenUser.d.ts.map +0 -1
- package/dist/js/auth/utils/findRefreshTokenUser.js +0 -19
- package/dist/js/auth/utils/findRefreshTokenUser.js.map +0 -1
- package/dist/js/auth/utils/findUser.d.ts +0 -2
- package/dist/js/auth/utils/findUser.d.ts.map +0 -1
- package/dist/js/auth/utils/findUser.js +0 -2
- package/dist/js/auth/utils/findUser.js.map +0 -1
- package/dist/js/auth/utils/getModel.d.ts +0 -6
- package/dist/js/auth/utils/getModel.d.ts.map +0 -1
- package/dist/js/auth/utils/getModel.js +0 -18
- package/dist/js/auth/utils/getModel.js.map +0 -1
- package/dist/js/auth/utils/getOTPData.d.ts +0 -9
- package/dist/js/auth/utils/getOTPData.d.ts.map +0 -1
- package/dist/js/auth/utils/getOTPData.js +0 -26
- package/dist/js/auth/utils/getOTPData.js.map +0 -1
- package/dist/js/auth/utils/getOTPModel.d.ts +0 -4
- package/dist/js/auth/utils/getOTPModel.d.ts.map +0 -1
- package/dist/js/auth/utils/getOTPModel.js +0 -19
- package/dist/js/auth/utils/getOTPModel.js.map +0 -1
- package/dist/js/auth/utils/getOTPUser.d.ts +0 -8
- package/dist/js/auth/utils/getOTPUser.d.ts.map +0 -1
- package/dist/js/auth/utils/getOTPUser.js +0 -32
- package/dist/js/auth/utils/getOTPUser.js.map +0 -1
- package/dist/js/auth/utils/getUser.d.ts +0 -10
- package/dist/js/auth/utils/getUser.d.ts.map +0 -1
- package/dist/js/auth/utils/getUser.js +0 -40
- package/dist/js/auth/utils/getUser.js.map +0 -1
- package/dist/js/auth/utils/handleGetRefreshToken.d.ts +0 -9
- package/dist/js/auth/utils/handleGetRefreshToken.d.ts.map +0 -1
- package/dist/js/auth/utils/handleGetRefreshToken.js +0 -42
- package/dist/js/auth/utils/handleGetRefreshToken.js.map +0 -1
- package/dist/js/auth/utils/handleGetToken.d.ts +0 -9
- package/dist/js/auth/utils/handleGetToken.d.ts.map +0 -1
- package/dist/js/auth/utils/handleGetToken.js +0 -22
- package/dist/js/auth/utils/handleGetToken.js.map +0 -1
- package/dist/js/auth/utils/handleIsVerfieid.d.ts +0 -9
- package/dist/js/auth/utils/handleIsVerfieid.d.ts.map +0 -1
- package/dist/js/auth/utils/handleIsVerfieid.js +0 -20
- package/dist/js/auth/utils/handleIsVerfieid.js.map +0 -1
- package/dist/js/auth/utils/handleIsVerified.d.ts +0 -11
- package/dist/js/auth/utils/handleIsVerified.d.ts.map +0 -1
- package/dist/js/auth/utils/handleIsVerified.js +0 -27
- package/dist/js/auth/utils/handleIsVerified.js.map +0 -1
- package/dist/js/auth/utils/handleRefreshTokenValidation.d.ts +0 -4
- package/dist/js/auth/utils/handleRefreshTokenValidation.d.ts.map +0 -1
- package/dist/js/auth/utils/handleRefreshTokenValidation.js +0 -49
- package/dist/js/auth/utils/handleRefreshTokenValidation.js.map +0 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.d.ts +0 -18
- package/dist/js/auth/utils/handleRotateRefreshToken.d.ts.map +0 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.js +0 -73
- package/dist/js/auth/utils/handleRotateRefreshToken.js.map +0 -1
- package/dist/js/auth/utils/modeMap.d.ts +0 -40
- package/dist/js/auth/utils/modeMap.d.ts.map +0 -1
- package/dist/js/auth/utils/modeMap.js +0 -15
- package/dist/js/auth/utils/modeMap.js.map +0 -1
- package/dist/js/auth/utils/otpHTML.d.ts +0 -2
- package/dist/js/auth/utils/otpHTML.d.ts.map +0 -1
- package/dist/js/auth/utils/otpHTML.js +0 -2
- package/dist/js/auth/utils/otpHTML.js.map +0 -1
- package/dist/js/auth/utils/otpVerifiedResponse.d.ts +0 -9
- package/dist/js/auth/utils/otpVerifiedResponse.d.ts.map +0 -1
- package/dist/js/auth/utils/otpVerifiedResponse.js +0 -28
- package/dist/js/auth/utils/otpVerifiedResponse.js.map +0 -1
- package/dist/js/auth/utils/returnRotationToken.d.ts +0 -2
- package/dist/js/auth/utils/returnRotationToken.d.ts.map +0 -1
- package/dist/js/auth/utils/returnRotationToken.js +0 -3
- package/dist/js/auth/utils/returnRotationToken.js.map +0 -1
- package/dist/js/auth/utils/rotateRefreshToken.d.ts +0 -16
- package/dist/js/auth/utils/rotateRefreshToken.d.ts.map +0 -1
- package/dist/js/auth/utils/rotateRefreshToken.js +0 -53
- package/dist/js/auth/utils/rotateRefreshToken.js.map +0 -1
- package/dist/js/auth/utils/sendCookie.d.ts +0 -24
- package/dist/js/auth/utils/sendCookie.d.ts.map +0 -1
- package/dist/js/auth/utils/sendCookie.js +0 -101
- package/dist/js/auth/utils/sendCookie.js.map +0 -1
- package/dist/js/auth/utils/sendOTP.d.ts +0 -7
- package/dist/js/auth/utils/sendOTP.d.ts.map +0 -1
- package/dist/js/auth/utils/sendOTP.js +0 -48
- package/dist/js/auth/utils/sendOTP.js.map +0 -1
- package/dist/js/auth/utils/verifyCredentials.d.ts +0 -9
- package/dist/js/auth/utils/verifyCredentials.d.ts.map +0 -1
- package/dist/js/auth/utils/verifyCredentials.js +0 -45
- package/dist/js/auth/utils/verifyCredentials.js.map +0 -1
- package/dist/js/auth/verifyOTP.d.ts +0 -10
- package/dist/js/auth/verifyOTP.d.ts.map +0 -1
- package/dist/js/auth/verifyOTP.js +0 -109
- package/dist/js/auth/verifyOTP.js.map +0 -1
- package/dist/js/config/auth.envs.d.ts +0 -4
- package/dist/js/config/auth.envs.d.ts.map +0 -1
- package/dist/js/config/auth.envs.js +0 -79
- package/dist/js/config/auth.envs.js.map +0 -1
- package/dist/js/config/cloudinary.d.ts +0 -5
- package/dist/js/config/cloudinary.d.ts.map +0 -1
- package/dist/js/config/cloudinary.js +0 -25
- package/dist/js/config/cloudinary.js.map +0 -1
- package/dist/js/config/defaultConfig.d.ts +0 -3
- package/dist/js/config/defaultConfig.d.ts.map +0 -1
- package/dist/js/config/defaultConfig.js +0 -23
- package/dist/js/config/defaultConfig.js.map +0 -1
- package/dist/js/config/duration.d.ts +0 -58
- package/dist/js/config/duration.d.ts.map +0 -1
- package/dist/js/config/duration.js +0 -77
- package/dist/js/config/duration.js.map +0 -1
- package/dist/js/config/email.envs.d.ts +0 -4
- package/dist/js/config/email.envs.d.ts.map +0 -1
- package/dist/js/config/email.envs.js +0 -54
- package/dist/js/config/email.envs.js.map +0 -1
- package/dist/js/config/envs.d.ts +0 -6
- package/dist/js/config/envs.d.ts.map +0 -1
- package/dist/js/config/envs.js +0 -17
- package/dist/js/config/envs.js.map +0 -1
- package/dist/js/config/handleReqType.d.ts +0 -7
- package/dist/js/config/handleReqType.d.ts.map +0 -1
- package/dist/js/config/handleReqType.js +0 -20
- package/dist/js/config/handleReqType.js.map +0 -1
- package/dist/js/config/handlerMap.d.ts +0 -3
- package/dist/js/config/handlerMap.d.ts.map +0 -1
- package/dist/js/config/handlerMap.js +0 -46
- package/dist/js/config/handlerMap.js.map +0 -1
- package/dist/js/config/refreshModel.d.ts +0 -3
- package/dist/js/config/refreshModel.d.ts.map +0 -1
- package/dist/js/config/refreshModel.js +0 -52
- package/dist/js/config/refreshModel.js.map +0 -1
- package/dist/js/config/reqTypes.d.ts +0 -2
- package/dist/js/config/reqTypes.d.ts.map +0 -1
- package/dist/js/config/reqTypes.js +0 -2
- package/dist/js/config/reqTypes.js.map +0 -1
- package/dist/js/config/sendEmail.d.ts +0 -11
- package/dist/js/config/sendEmail.d.ts.map +0 -1
- package/dist/js/config/sendEmail.js +0 -92
- package/dist/js/config/sendEmail.js.map +0 -1
- package/dist/js/core/app.d.ts +0 -3
- package/dist/js/core/app.d.ts.map +0 -1
- package/dist/js/core/app.js +0 -19
- package/dist/js/core/app.js.map +0 -1
- package/dist/js/crud/bunch.crud.d.ts +0 -12
- package/dist/js/crud/bunch.crud.d.ts.map +0 -1
- package/dist/js/crud/bunch.crud.js +0 -14
- package/dist/js/crud/bunch.crud.js.map +0 -1
- package/dist/js/crud/create.d.ts +0 -10
- package/dist/js/crud/create.d.ts.map +0 -1
- package/dist/js/crud/create.js +0 -108
- package/dist/js/crud/create.js.map +0 -1
- package/dist/js/crud/createBulk.d.ts +0 -10
- package/dist/js/crud/createBulk.d.ts.map +0 -1
- package/dist/js/crud/createBulk.js +0 -25
- package/dist/js/crud/createBulk.js.map +0 -1
- package/dist/js/crud/email/index.d.ts +0 -2
- package/dist/js/crud/email/index.d.ts.map +0 -1
- package/dist/js/crud/email/index.js.map +0 -1
- package/dist/js/crud/encryption/handleDecryption.d.ts +0 -4
- package/dist/js/crud/encryption/handleDecryption.d.ts.map +0 -1
- package/dist/js/crud/encryption/handleDecryption.js +0 -64
- package/dist/js/crud/encryption/handleDecryption.js.map +0 -1
- package/dist/js/crud/encryption/handleEncryption.d.ts +0 -5
- package/dist/js/crud/encryption/handleEncryption.d.ts.map +0 -1
- package/dist/js/crud/encryption/handleEncryption.js +0 -49
- package/dist/js/crud/encryption/handleEncryption.js.map +0 -1
- package/dist/js/crud/files/file.update.d.ts +0 -10
- package/dist/js/crud/files/file.update.d.ts.map +0 -1
- package/dist/js/crud/files/file.update.js +0 -28
- package/dist/js/crud/files/file.update.js.map +0 -1
- package/dist/js/crud/handleUploads/file.add.d.ts +0 -10
- package/dist/js/crud/handleUploads/file.add.d.ts.map +0 -1
- package/dist/js/crud/handleUploads/file.add.js +0 -64
- package/dist/js/crud/handleUploads/file.add.js.map +0 -1
- package/dist/js/crud/handleUploads/file.create.d.ts +0 -10
- package/dist/js/crud/handleUploads/file.create.d.ts.map +0 -1
- package/dist/js/crud/handleUploads/file.create.js +0 -33
- package/dist/js/crud/handleUploads/file.create.js.map +0 -1
- package/dist/js/crud/handleUploads/file.delete.d.ts +0 -10
- package/dist/js/crud/handleUploads/file.delete.d.ts.map +0 -1
- package/dist/js/crud/handleUploads/file.delete.js +0 -45
- package/dist/js/crud/handleUploads/file.delete.js.map +0 -1
- package/dist/js/crud/handleUploads/file.update.d.ts +0 -10
- package/dist/js/crud/handleUploads/file.update.d.ts.map +0 -1
- package/dist/js/crud/handleUploads/file.update.js +0 -40
- package/dist/js/crud/handleUploads/file.update.js.map +0 -1
- package/dist/js/crud/index.d.ts +0 -5
- package/dist/js/crud/index.d.ts.map +0 -1
- package/dist/js/crud/index.js +0 -42
- package/dist/js/crud/index.js.map +0 -1
- package/dist/js/crud/read.d.ts +0 -10
- package/dist/js/crud/read.d.ts.map +0 -1
- package/dist/js/crud/read.js +0 -56
- package/dist/js/crud/read.js.map +0 -1
- package/dist/js/crud/readAll.d.ts +0 -9
- package/dist/js/crud/readAll.d.ts.map +0 -1
- package/dist/js/crud/readAll.js +0 -64
- package/dist/js/crud/readAll.js.map +0 -1
- package/dist/js/crud/remove.d.ts +0 -9
- package/dist/js/crud/remove.d.ts.map +0 -1
- package/dist/js/crud/remove.js +0 -60
- package/dist/js/crud/remove.js.map +0 -1
- package/dist/js/crud/removeAll.d.ts +0 -9
- package/dist/js/crud/removeAll.d.ts.map +0 -1
- package/dist/js/crud/removeAll.js +0 -56
- package/dist/js/crud/removeAll.js.map +0 -1
- package/dist/js/crud/removeMultiple.d.ts +0 -10
- package/dist/js/crud/removeMultiple.d.ts.map +0 -1
- package/dist/js/crud/removeMultiple.js +0 -72
- package/dist/js/crud/removeMultiple.js.map +0 -1
- package/dist/js/crud/security/handleDecryption.d.ts +0 -4
- package/dist/js/crud/security/handleDecryption.d.ts.map +0 -1
- package/dist/js/crud/security/handleDecryption.js +0 -64
- package/dist/js/crud/security/handleDecryption.js.map +0 -1
- package/dist/js/crud/security/handleEncryption.d.ts +0 -5
- package/dist/js/crud/security/handleEncryption.d.ts.map +0 -1
- package/dist/js/crud/security/handleEncryption.js +0 -49
- package/dist/js/crud/security/handleEncryption.js.map +0 -1
- package/dist/js/crud/security/handleHashing.d.ts +0 -4
- package/dist/js/crud/security/handleHashing.d.ts.map +0 -1
- package/dist/js/crud/security/handleHashing.js +0 -57
- package/dist/js/crud/security/handleHashing.js.map +0 -1
- package/dist/js/crud/security/handleHasing.d.ts +0 -4
- package/dist/js/crud/security/handleHasing.d.ts.map +0 -1
- package/dist/js/crud/security/handleHasing.js +0 -52
- package/dist/js/crud/security/handleHasing.js.map +0 -1
- package/dist/js/crud/update.d.ts +0 -10
- package/dist/js/crud/update.d.ts.map +0 -1
- package/dist/js/crud/update.js +0 -78
- package/dist/js/crud/update.js.map +0 -1
- package/dist/js/crud/utils/actionHandler.d.ts +0 -5
- package/dist/js/crud/utils/actionHandler.d.ts.map +0 -1
- package/dist/js/crud/utils/actionHandler.js +0 -9
- package/dist/js/crud/utils/actionHandler.js.map +0 -1
- package/dist/js/crud/utils/authorizeAccess.d.ts +0 -10
- package/dist/js/crud/utils/authorizeAccess.d.ts.map +0 -1
- package/dist/js/crud/utils/authorizeAccess.js +0 -52
- package/dist/js/crud/utils/authorizeAccess.js.map +0 -1
- package/dist/js/crud/utils/authroizeAccess.d.ts +0 -10
- package/dist/js/crud/utils/authroizeAccess.d.ts.map +0 -1
- package/dist/js/crud/utils/authroizeAccess.js +0 -46
- package/dist/js/crud/utils/authroizeAccess.js.map +0 -1
- package/dist/js/crud/utils/getItem.d.ts +0 -11
- package/dist/js/crud/utils/getItem.d.ts.map +0 -1
- package/dist/js/crud/utils/getItem.js +0 -79
- package/dist/js/crud/utils/getItem.js.map +0 -1
- package/dist/js/crud/utils/getParam.d.ts +0 -8
- package/dist/js/crud/utils/getParam.d.ts.map +0 -1
- package/dist/js/crud/utils/getParam.js +0 -18
- package/dist/js/crud/utils/getParam.js.map +0 -1
- package/dist/js/crud/utils/runActions.d.ts +0 -4
- package/dist/js/crud/utils/runActions.d.ts.map +0 -1
- package/dist/js/crud/utils/runActions.js +0 -27
- package/dist/js/crud/utils/runActions.js.map +0 -1
- package/dist/js/crud/utils/validateOwner.d.ts +0 -7
- package/dist/js/crud/utils/validateOwner.d.ts.map +0 -1
- package/dist/js/crud/utils/validateOwner.js +0 -5
- package/dist/js/crud/utils/validateOwner.js.map +0 -1
- package/dist/js/email/index.d.ts +0 -4
- package/dist/js/email/index.d.ts.map +0 -1
- package/dist/js/email/index.js +0 -181
- package/dist/js/email/index.js.map +0 -1
- package/dist/js/email/templates/account.created.d.ts.map +0 -1
- package/dist/js/email/templates/account.created.email.d.ts +0 -4
- package/dist/js/email/templates/account.created.email.d.ts.map +0 -1
- package/dist/js/email/templates/account.created.email.js +0 -165
- package/dist/js/email/templates/account.created.email.js.map +0 -1
- package/dist/js/email/templates/account.created.js.map +0 -1
- package/dist/js/email/templates/account.deleted.d.ts.map +0 -1
- package/dist/js/email/templates/account.deleted.js.map +0 -1
- package/dist/js/email/templates/account.updated.d.ts.map +0 -1
- package/dist/js/email/templates/account.updated.js.map +0 -1
- package/dist/js/email/templates/announcement.d.ts.map +0 -1
- package/dist/js/email/templates/announcement.js.map +0 -1
- package/dist/js/email/templates/api.key.created.d.ts.map +0 -1
- package/dist/js/email/templates/api.key.created.js.map +0 -1
- package/dist/js/email/templates/api.key.revoked.d.ts.map +0 -1
- package/dist/js/email/templates/api.key.revoked.js.map +0 -1
- package/dist/js/email/templates/contact.form.d.ts.map +0 -1
- package/dist/js/email/templates/contact.form.js.map +0 -1
- package/dist/js/email/templates/daily.report.d.ts.map +0 -1
- package/dist/js/email/templates/daily.report.js.map +0 -1
- package/dist/js/email/templates/email.changed.d.ts.map +0 -1
- package/dist/js/email/templates/email.changed.js.map +0 -1
- package/dist/js/email/templates/feedback.d.ts.map +0 -1
- package/dist/js/email/templates/feedback.js.map +0 -1
- package/dist/js/email/templates/index.d.ts.map +0 -1
- package/dist/js/email/templates/index.js.map +0 -1
- package/dist/js/email/templates/invoice.d.ts.map +0 -1
- package/dist/js/email/templates/invoice.js.map +0 -1
- package/dist/js/email/templates/login.alert.d.ts.map +0 -1
- package/dist/js/email/templates/login.alert.js.map +0 -1
- package/dist/js/email/templates/magic.link.d.ts.map +0 -1
- package/dist/js/email/templates/magic.link.js.map +0 -1
- package/dist/js/email/templates/maintenance.d.ts.map +0 -1
- package/dist/js/email/templates/maintenance.js.map +0 -1
- package/dist/js/email/templates/member.added.d.ts.map +0 -1
- package/dist/js/email/templates/member.added.js.map +0 -1
- package/dist/js/email/templates/member.removed.d.ts.map +0 -1
- package/dist/js/email/templates/member.removed.js.map +0 -1
- package/dist/js/email/templates/mention.d.ts.map +0 -1
- package/dist/js/email/templates/mention.js.map +0 -1
- package/dist/js/email/templates/monthly.report.d.ts.map +0 -1
- package/dist/js/email/templates/monthly.report.js.map +0 -1
- package/dist/js/email/templates/new.comment.d.ts.map +0 -1
- package/dist/js/email/templates/new.comment.js.map +0 -1
- package/dist/js/email/templates/new.device.login.d.ts.map +0 -1
- package/dist/js/email/templates/new.device.login.js.map +0 -1
- package/dist/js/email/templates/new.message.d.ts.map +0 -1
- package/dist/js/email/templates/new.message.js.map +0 -1
- package/dist/js/email/templates/notification.d.ts.map +0 -1
- package/dist/js/email/templates/notification.js.map +0 -1
- package/dist/js/email/templates/order.cancelled.d.ts.map +0 -1
- package/dist/js/email/templates/order.cancelled.js.map +0 -1
- package/dist/js/email/templates/order.confirmation.d.ts.map +0 -1
- package/dist/js/email/templates/order.confirmation.js.map +0 -1
- package/dist/js/email/templates/order.delivered.d.ts.map +0 -1
- package/dist/js/email/templates/order.delivered.js.map +0 -1
- package/dist/js/email/templates/order.shipped.d.ts.map +0 -1
- package/dist/js/email/templates/order.shipped.js.map +0 -1
- package/dist/js/email/templates/organization.invitation.d.ts.map +0 -1
- package/dist/js/email/templates/organization.invitation.js.map +0 -1
- package/dist/js/email/templates/otp.verfication.d.ts.map +0 -1
- package/dist/js/email/templates/otp.verfication.js.map +0 -1
- package/dist/js/email/templates/password.changed.d.ts.map +0 -1
- package/dist/js/email/templates/password.changed.js.map +0 -1
- package/dist/js/email/templates/password.expiring.d.ts.map +0 -1
- package/dist/js/email/templates/password.expiring.js.map +0 -1
- package/dist/js/email/templates/password.reset.d.ts.map +0 -1
- package/dist/js/email/templates/password.reset.js.map +0 -1
- package/dist/js/email/templates/payment.failed.d.ts.map +0 -1
- package/dist/js/email/templates/payment.failed.js.map +0 -1
- package/dist/js/email/templates/payment.success.d.ts.map +0 -1
- package/dist/js/email/templates/payment.success.js.map +0 -1
- package/dist/js/email/templates/receipt.d.ts.map +0 -1
- package/dist/js/email/templates/receipt.js.map +0 -1
- package/dist/js/email/templates/reminder.d.ts.map +0 -1
- package/dist/js/email/templates/reminder.js.map +0 -1
- package/dist/js/email/templates/security.alert.d.ts.map +0 -1
- package/dist/js/email/templates/security.alert.js.map +0 -1
- package/dist/js/email/templates/subscription.cancelled.d.ts.map +0 -1
- package/dist/js/email/templates/subscription.cancelled.js.map +0 -1
- package/dist/js/email/templates/subscription.created.d.ts.map +0 -1
- package/dist/js/email/templates/subscription.created.js.map +0 -1
- package/dist/js/email/templates/subscription.renewed.d.ts.map +0 -1
- package/dist/js/email/templates/subscription.renewed.js.map +0 -1
- package/dist/js/email/templates/support.ticket.d.ts.map +0 -1
- package/dist/js/email/templates/support.ticket.js.map +0 -1
- package/dist/js/email/templates/team.invitation.d.ts.map +0 -1
- package/dist/js/email/templates/team.invitation.js.map +0 -1
- package/dist/js/email/templates/trial.ending.d.ts.map +0 -1
- package/dist/js/email/templates/trial.ending.js.map +0 -1
- package/dist/js/email/templates/two.factor.code.d.ts.map +0 -1
- package/dist/js/email/templates/two.factor.code.js.map +0 -1
- package/dist/js/email/templates/verify.email.d.ts.map +0 -1
- package/dist/js/email/templates/verify.email.js.map +0 -1
- package/dist/js/email/templates/weekly.report.d.ts.map +0 -1
- package/dist/js/email/templates/weekly.report.js.map +0 -1
- package/dist/js/email/templates/welcome.d.ts.map +0 -1
- package/dist/js/email/templates/welcome.email.d.ts +0 -4
- package/dist/js/email/templates/welcome.email.d.ts.map +0 -1
- package/dist/js/email/templates/welcome.email.js +0 -417
- package/dist/js/email/templates/welcome.email.js.map +0 -1
- package/dist/js/email/templates/welcome.js.map +0 -1
- package/dist/js/email/utils/auto-fields.d.ts +0 -68
- package/dist/js/email/utils/auto-fields.d.ts.map +0 -1
- package/dist/js/email/utils/auto-fields.js +0 -232
- package/dist/js/email/utils/auto-fields.js.map +0 -1
- package/dist/js/email/utils/auto-fields.type.d.ts.map +0 -1
- package/dist/js/email/utils/auto-fields.type.js.map +0 -1
- package/dist/js/email/utils/emailTemplates.d.ts +0 -2
- package/dist/js/email/utils/emailTemplates.d.ts.map +0 -1
- package/dist/js/email/utils/emailTemplates.js +0 -49
- package/dist/js/email/utils/emailTemplates.js.map +0 -1
- package/dist/js/email/utils/handleEmailTemplateConfig.d.ts +0 -4
- package/dist/js/email/utils/handleEmailTemplateConfig.d.ts.map +0 -1
- package/dist/js/email/utils/handleEmailTemplateConfig.js +0 -47
- package/dist/js/email/utils/handleEmailTemplateConfig.js.map +0 -1
- package/dist/js/health/bunch.health.d.ts +0 -6
- package/dist/js/health/bunch.health.d.ts.map +0 -1
- package/dist/js/health/bunch.health.js +0 -6
- package/dist/js/health/bunch.health.js.map +0 -1
- package/dist/js/health/delete.health.d.ts +0 -4
- package/dist/js/health/delete.health.d.ts.map +0 -1
- package/dist/js/health/delete.health.js +0 -5
- package/dist/js/health/delete.health.js.map +0 -1
- package/dist/js/health/get.health.d.ts +0 -4
- package/dist/js/health/get.health.d.ts.map +0 -1
- package/dist/js/health/get.health.js +0 -5
- package/dist/js/health/get.health.js.map +0 -1
- package/dist/js/health/health.collection.d.ts +0 -3
- package/dist/js/health/health.collection.d.ts.map +0 -1
- package/dist/js/health/health.collection.js +0 -39
- package/dist/js/health/health.collection.js.map +0 -1
- package/dist/js/health/health.controller.d.ts +0 -4
- package/dist/js/health/health.controller.d.ts.map +0 -1
- package/dist/js/health/health.controller.js +0 -5
- package/dist/js/health/health.controller.js.map +0 -1
- package/dist/js/health/index.d.ts +0 -5
- package/dist/js/health/index.d.ts.map +0 -1
- package/dist/js/health/index.js +0 -10
- package/dist/js/health/index.js.map +0 -1
- package/dist/js/health/patch.health.d.ts +0 -4
- package/dist/js/health/patch.health.d.ts.map +0 -1
- package/dist/js/health/patch.health.js +0 -5
- package/dist/js/health/patch.health.js.map +0 -1
- package/dist/js/health/post.health.d.ts +0 -4
- package/dist/js/health/post.health.d.ts.map +0 -1
- package/dist/js/health/post.health.js +0 -5
- package/dist/js/health/post.health.js.map +0 -1
- package/dist/js/health/put.health.d.ts +0 -4
- package/dist/js/health/put.health.d.ts.map +0 -1
- package/dist/js/health/put.health.js +0 -5
- package/dist/js/health/put.health.js.map +0 -1
- package/dist/js/index.d.ts +0 -18
- package/dist/js/index.d.ts.map +0 -1
- package/dist/js/index.js +0 -27
- package/dist/js/index.js.map +0 -1
- package/dist/js/lib/Mongoose.d.ts +0 -80
- package/dist/js/lib/Mongoose.d.ts.map +0 -1
- package/dist/js/lib/Mongoose.js +0 -2
- package/dist/js/lib/Mongoose.js.map +0 -1
- package/dist/js/lib/OA.d.ts +0 -2
- package/dist/js/lib/OA.d.ts.map +0 -1
- package/dist/js/lib/OA.js +0 -2
- package/dist/js/lib/OA.js.map +0 -1
- package/dist/js/lib/OAuthProviders.d.ts +0 -3
- package/dist/js/lib/OAuthProviders.d.ts.map +0 -1
- package/dist/js/lib/OAuthProviders.js +0 -18
- package/dist/js/lib/OAuthProviders.js.map +0 -1
- package/dist/js/lib/PROVIDERS.d.ts +0 -2
- package/dist/js/lib/PROVIDERS.d.ts.map +0 -1
- package/dist/js/lib/PROVIDERS.js +0 -2
- package/dist/js/lib/PROVIDERS.js.map +0 -1
- package/dist/js/lib/db.d.ts +0 -8
- package/dist/js/lib/db.d.ts.map +0 -1
- package/dist/js/lib/db.js +0 -47
- package/dist/js/lib/db.js.map +0 -1
- package/dist/js/lib/handler.d.ts +0 -9
- package/dist/js/lib/handler.d.ts.map +0 -1
- package/dist/js/lib/handler.js +0 -11
- package/dist/js/lib/handler.js.map +0 -1
- package/dist/js/lib/handlerMap.d.ts +0 -3
- package/dist/js/lib/handlerMap.d.ts.map +0 -1
- package/dist/js/lib/handlerMap.js +0 -18
- package/dist/js/lib/handlerMap.js.map +0 -1
- package/dist/js/lib/model.factory.d.ts +0 -19
- package/dist/js/lib/model.factory.d.ts.map +0 -1
- package/dist/js/lib/model.factory.js +0 -77
- package/dist/js/lib/model.factory.js.map +0 -1
- package/dist/js/lib/model.registry.d.ts +0 -4
- package/dist/js/lib/model.registry.d.ts.map +0 -1
- package/dist/js/lib/model.registry.js +0 -5
- package/dist/js/lib/model.registry.js.map +0 -1
- package/dist/js/lib/mongoose.fields.d.ts +0 -52
- package/dist/js/lib/mongoose.fields.d.ts.map +0 -1
- package/dist/js/lib/mongoose.fields.js +0 -382
- package/dist/js/lib/mongoose.fields.js.map +0 -1
- package/dist/js/lib/roles.d.ts.map +0 -1
- package/dist/js/lib/roles.js.map +0 -1
- package/dist/js/lib/schema.builder.d.ts +0 -6
- package/dist/js/lib/schema.builder.d.ts.map +0 -1
- package/dist/js/lib/schema.builder.js +0 -31
- package/dist/js/lib/schema.builder.js.map +0 -1
- package/dist/js/lib/unified.fields.d.ts +0 -57
- package/dist/js/lib/unified.fields.d.ts.map +0 -1
- package/dist/js/lib/unified.fields.js +0 -610
- package/dist/js/lib/unified.fields.js.map +0 -1
- package/dist/js/lib/unified.types.d.ts +0 -10
- package/dist/js/lib/unified.types.d.ts.map +0 -1
- package/dist/js/lib/unified.types.js.map +0 -1
- package/dist/js/lib/zod.factory.d.ts +0 -21
- package/dist/js/lib/zod.factory.d.ts.map +0 -1
- package/dist/js/lib/zod.factory.js +0 -49
- package/dist/js/lib/zod.factory.js.map +0 -1
- package/dist/js/lib/zod.fields.d.ts +0 -180
- package/dist/js/lib/zod.fields.d.ts.map +0 -1
- package/dist/js/lib/zod.fields.js +0 -195
- package/dist/js/lib/zod.fields.js.map +0 -1
- package/dist/js/middleware/auth.middleware.d.ts +0 -25
- package/dist/js/middleware/auth.middleware.d.ts.map +0 -1
- package/dist/js/middleware/auth.middleware.js +0 -87
- package/dist/js/middleware/auth.middleware.js.map +0 -1
- package/dist/js/middleware/error.middleware.d.ts +0 -5
- package/dist/js/middleware/error.middleware.d.ts.map +0 -1
- package/dist/js/middleware/error.middleware.js +0 -26
- package/dist/js/middleware/error.middleware.js.map +0 -1
- package/dist/js/middleware/multer.middleware.d.ts +0 -5
- package/dist/js/middleware/multer.middleware.d.ts.map +0 -1
- package/dist/js/middleware/multer.middleware.js +0 -110
- package/dist/js/middleware/multer.middleware.js.map +0 -1
- package/dist/js/middleware/rateLimit.middleware.d.ts +0 -2
- package/dist/js/middleware/rateLimit.middleware.d.ts.map +0 -1
- package/dist/js/middleware/rateLimit.middleware.js +0 -19
- package/dist/js/middleware/rateLimit.middleware.js.map +0 -1
- package/dist/js/realtime/index.d.ts +0 -4
- package/dist/js/realtime/index.d.ts.map +0 -1
- package/dist/js/realtime/index.js +0 -5
- package/dist/js/realtime/index.js.map +0 -1
- package/dist/js/terminal/appInfo.d.ts +0 -19
- package/dist/js/terminal/appInfo.d.ts.map +0 -1
- package/dist/js/terminal/appInfo.js +0 -42
- package/dist/js/terminal/appInfo.js.map +0 -1
- package/dist/js/terminal/collectionInfo.d.ts +0 -19
- package/dist/js/terminal/collectionInfo.d.ts.map +0 -1
- package/dist/js/terminal/collectionInfo.js +0 -36
- package/dist/js/terminal/collectionInfo.js.map +0 -1
- package/dist/js/terminal/logger.d.ts +0 -25
- package/dist/js/terminal/logger.d.ts.map +0 -1
- package/dist/js/terminal/logger.js +0 -242
- package/dist/js/terminal/logger.js.map +0 -1
- package/dist/js/terminal/loggerConfig.d.ts +0 -3
- package/dist/js/terminal/loggerConfig.d.ts.map +0 -1
- package/dist/js/terminal/loggerConfig.js +0 -36
- package/dist/js/terminal/loggerConfig.js.map +0 -1
- package/dist/js/terminal/terminal.d.ts +0 -3
- package/dist/js/terminal/terminal.d.ts.map +0 -1
- package/dist/js/terminal/terminal.js +0 -36
- package/dist/js/terminal/terminal.js.map +0 -1
- package/dist/js/types/ActionHandler.d.ts +0 -93
- package/dist/js/types/ActionHandler.d.ts.map +0 -1
- package/dist/js/types/ActionHandler.js.map +0 -1
- package/dist/js/types/Collection.d.ts +0 -113
- package/dist/js/types/Collection.d.ts.map +0 -1
- package/dist/js/types/Collection.js.map +0 -1
- package/dist/js/types/Constructor.d.ts +0 -75
- package/dist/js/types/Constructor.d.ts.map +0 -1
- package/dist/js/types/Constructor.js +0 -2
- package/dist/js/types/Constructor.js.map +0 -1
- package/dist/js/types/EmailActionTemplate.d.ts.map +0 -1
- package/dist/js/types/EmailActionTemplate.js.map +0 -1
- package/dist/js/types/MongooseOTPSchemaObj.d.ts +0 -10
- package/dist/js/types/MongooseOTPSchemaObj.d.ts.map +0 -1
- package/dist/js/types/MongooseOTPSchemaObj.js +0 -2
- package/dist/js/types/MongooseOTPSchemaObj.js.map +0 -1
- package/dist/js/types/Route.d.ts +0 -152
- package/dist/js/types/Route.d.ts.map +0 -1
- package/dist/js/types/Route.js.map +0 -1
- package/dist/js/types/Routepath.d.ts +0 -2
- package/dist/js/types/Routepath.d.ts.map +0 -1
- package/dist/js/types/Routepath.js +0 -17
- package/dist/js/types/Routepath.js.map +0 -1
- package/dist/js/types/StoreFile.d.ts +0 -10
- package/dist/js/types/StoreFile.d.ts.map +0 -1
- package/dist/js/types/StoreFile.js.map +0 -1
- package/dist/js/types/ValidationsObj.d.ts +0 -7
- package/dist/js/types/ValidationsObj.d.ts.map +0 -1
- package/dist/js/types/ValidationsObj.js +0 -2
- package/dist/js/types/ValidationsObj.js.map +0 -1
- package/dist/js/types/accountHandlers.d.ts +0 -2
- package/dist/js/types/accountHandlers.d.ts.map +0 -1
- package/dist/js/types/accountHandlers.js +0 -2
- package/dist/js/types/accountHandlers.js.map +0 -1
- package/dist/js/types/adminHandlers.d.ts +0 -2
- package/dist/js/types/adminHandlers.d.ts.map +0 -1
- package/dist/js/types/adminHandlers.js +0 -2
- package/dist/js/types/adminHandlers.js.map +0 -1
- package/dist/js/types/authHandlers.d.ts +0 -2
- package/dist/js/types/authHandlers.d.ts.map +0 -1
- package/dist/js/types/authHandlers.js +0 -2
- package/dist/js/types/authHandlers.js.map +0 -1
- package/dist/js/types/crudHandlers.d.ts +0 -2
- package/dist/js/types/crudHandlers.d.ts.map +0 -1
- package/dist/js/types/crudHandlers.js +0 -2
- package/dist/js/types/crudHandlers.js.map +0 -1
- package/dist/js/types/email/account.created.type.d.ts +0 -10
- package/dist/js/types/email/account.created.type.d.ts.map +0 -1
- package/dist/js/types/email/account.created.type.js.map +0 -1
- package/dist/js/types/email/account.deleted.type.d.ts +0 -10
- package/dist/js/types/email/account.deleted.type.d.ts.map +0 -1
- package/dist/js/types/email/account.deleted.type.js.map +0 -1
- package/dist/js/types/email/account.updated.type.d.ts +0 -12
- package/dist/js/types/email/account.updated.type.d.ts.map +0 -1
- package/dist/js/types/email/account.updated.type.js.map +0 -1
- package/dist/js/types/email/announcement.type.d.ts +0 -13
- package/dist/js/types/email/announcement.type.d.ts.map +0 -1
- package/dist/js/types/email/announcement.type.js.map +0 -1
- package/dist/js/types/email/api.key.created.type.d.ts +0 -14
- package/dist/js/types/email/api.key.created.type.d.ts.map +0 -1
- package/dist/js/types/email/api.key.created.type.js.map +0 -1
- package/dist/js/types/email/api.key.revoked.type.d.ts +0 -14
- package/dist/js/types/email/api.key.revoked.type.d.ts.map +0 -1
- package/dist/js/types/email/api.key.revoked.type.js.map +0 -1
- package/dist/js/types/email/contact.form.type.d.ts +0 -11
- package/dist/js/types/email/contact.form.type.d.ts.map +0 -1
- package/dist/js/types/email/contact.form.type.js.map +0 -1
- package/dist/js/types/email/daily.report.type.d.ts +0 -14
- package/dist/js/types/email/daily.report.type.d.ts.map +0 -1
- package/dist/js/types/email/daily.report.type.js.map +0 -1
- package/dist/js/types/email/email.changed.type.d.ts +0 -12
- package/dist/js/types/email/email.changed.type.d.ts.map +0 -1
- package/dist/js/types/email/email.changed.type.js.map +0 -1
- package/dist/js/types/email/feedback.type.d.ts +0 -11
- package/dist/js/types/email/feedback.type.d.ts.map +0 -1
- package/dist/js/types/email/feedback.type.js.map +0 -1
- package/dist/js/types/email/index.d.ts.map +0 -1
- package/dist/js/types/email/index.js +0 -2
- package/dist/js/types/email/index.js.map +0 -1
- package/dist/js/types/email/invoice.type.d.ts +0 -14
- package/dist/js/types/email/invoice.type.d.ts.map +0 -1
- package/dist/js/types/email/invoice.type.js.map +0 -1
- package/dist/js/types/email/login.alert.type.d.ts +0 -12
- package/dist/js/types/email/login.alert.type.d.ts.map +0 -1
- package/dist/js/types/email/login.alert.type.js.map +0 -1
- package/dist/js/types/email/magic.link.type.d.ts +0 -11
- package/dist/js/types/email/magic.link.type.d.ts.map +0 -1
- package/dist/js/types/email/magic.link.type.js.map +0 -1
- package/dist/js/types/email/maintenance.type.d.ts +0 -13
- package/dist/js/types/email/maintenance.type.d.ts.map +0 -1
- package/dist/js/types/email/maintenance.type.js.map +0 -1
- package/dist/js/types/email/member.added.type.d.ts +0 -14
- package/dist/js/types/email/member.added.type.d.ts.map +0 -1
- package/dist/js/types/email/member.added.type.js.map +0 -1
- package/dist/js/types/email/member.removed.type.d.ts +0 -14
- package/dist/js/types/email/member.removed.type.d.ts.map +0 -1
- package/dist/js/types/email/member.removed.type.js.map +0 -1
- package/dist/js/types/email/mention.type.d.ts +0 -12
- package/dist/js/types/email/mention.type.d.ts.map +0 -1
- package/dist/js/types/email/mention.type.js.map +0 -1
- package/dist/js/types/email/monthly.report.type.d.ts +0 -14
- package/dist/js/types/email/monthly.report.type.d.ts.map +0 -1
- package/dist/js/types/email/monthly.report.type.js.map +0 -1
- package/dist/js/types/email/new.comment.type.d.ts +0 -12
- package/dist/js/types/email/new.comment.type.d.ts.map +0 -1
- package/dist/js/types/email/new.comment.type.js.map +0 -1
- package/dist/js/types/email/new.device.login.type.d.ts +0 -11
- package/dist/js/types/email/new.device.login.type.d.ts.map +0 -1
- package/dist/js/types/email/new.device.login.type.js.map +0 -1
- package/dist/js/types/email/new.message.type.d.ts +0 -11
- package/dist/js/types/email/new.message.type.d.ts.map +0 -1
- package/dist/js/types/email/new.message.type.js.map +0 -1
- package/dist/js/types/email/notification.type.d.ts +0 -13
- package/dist/js/types/email/notification.type.d.ts.map +0 -1
- package/dist/js/types/email/notification.type.js.map +0 -1
- package/dist/js/types/email/order.cancelled.type.d.ts +0 -12
- package/dist/js/types/email/order.cancelled.type.d.ts.map +0 -1
- package/dist/js/types/email/order.cancelled.type.js.map +0 -1
- package/dist/js/types/email/order.confirmation.type.d.ts +0 -13
- package/dist/js/types/email/order.confirmation.type.d.ts.map +0 -1
- package/dist/js/types/email/order.confirmation.type.js.map +0 -1
- package/dist/js/types/email/order.delivered.type.d.ts +0 -12
- package/dist/js/types/email/order.delivered.type.d.ts.map +0 -1
- package/dist/js/types/email/order.delivered.type.js.map +0 -1
- package/dist/js/types/email/order.shipped.type.d.ts +0 -14
- package/dist/js/types/email/order.shipped.type.d.ts.map +0 -1
- package/dist/js/types/email/order.shipped.type.js.map +0 -1
- package/dist/js/types/email/organization.invitation.type.d.ts +0 -13
- package/dist/js/types/email/organization.invitation.type.d.ts.map +0 -1
- package/dist/js/types/email/organization.invitation.type.js.map +0 -1
- package/dist/js/types/email/otp.verification.type.d.ts +0 -11
- package/dist/js/types/email/otp.verification.type.d.ts.map +0 -1
- package/dist/js/types/email/otp.verification.type.js.map +0 -1
- package/dist/js/types/email/password.changed.type.d.ts +0 -12
- package/dist/js/types/email/password.changed.type.d.ts.map +0 -1
- package/dist/js/types/email/password.changed.type.js.map +0 -1
- package/dist/js/types/email/password.expiring.type.d.ts +0 -12
- package/dist/js/types/email/password.expiring.type.d.ts.map +0 -1
- package/dist/js/types/email/password.expiring.type.js.map +0 -1
- package/dist/js/types/email/password.reset.type.d.ts +0 -11
- package/dist/js/types/email/password.reset.type.d.ts.map +0 -1
- package/dist/js/types/email/password.reset.type.js.map +0 -1
- package/dist/js/types/email/payment.failed.type.d.ts +0 -14
- package/dist/js/types/email/payment.failed.type.d.ts.map +0 -1
- package/dist/js/types/email/payment.failed.type.js.map +0 -1
- package/dist/js/types/email/payment.success.type.d.ts +0 -13
- package/dist/js/types/email/payment.success.type.d.ts.map +0 -1
- package/dist/js/types/email/payment.success.type.js.map +0 -1
- package/dist/js/types/email/receipt.type.d.ts +0 -14
- package/dist/js/types/email/receipt.type.d.ts.map +0 -1
- package/dist/js/types/email/receipt.type.js.map +0 -1
- package/dist/js/types/email/reminder.type.d.ts +0 -12
- package/dist/js/types/email/reminder.type.d.ts.map +0 -1
- package/dist/js/types/email/reminder.type.js.map +0 -1
- package/dist/js/types/email/security.alert.type.d.ts +0 -12
- package/dist/js/types/email/security.alert.type.d.ts.map +0 -1
- package/dist/js/types/email/security.alert.type.js.map +0 -1
- package/dist/js/types/email/static-config.type.d.ts.map +0 -1
- package/dist/js/types/email/static-config.type.js.map +0 -1
- package/dist/js/types/email/subscription.cancelled.type.d.ts +0 -12
- package/dist/js/types/email/subscription.cancelled.type.d.ts.map +0 -1
- package/dist/js/types/email/subscription.cancelled.type.js.map +0 -1
- package/dist/js/types/email/subscription.created.type.d.ts +0 -13
- package/dist/js/types/email/subscription.created.type.d.ts.map +0 -1
- package/dist/js/types/email/subscription.created.type.js.map +0 -1
- package/dist/js/types/email/subscription.renewed.type.d.ts +0 -14
- package/dist/js/types/email/subscription.renewed.type.d.ts.map +0 -1
- package/dist/js/types/email/subscription.renewed.type.js.map +0 -1
- package/dist/js/types/email/support.ticket.type.d.ts +0 -14
- package/dist/js/types/email/support.ticket.type.d.ts.map +0 -1
- package/dist/js/types/email/support.ticket.type.js.map +0 -1
- package/dist/js/types/email/team.invitation.type.d.ts +0 -13
- package/dist/js/types/email/team.invitation.type.d.ts.map +0 -1
- package/dist/js/types/email/team.invitation.type.js.map +0 -1
- package/dist/js/types/email/trial.ending.type.d.ts +0 -13
- package/dist/js/types/email/trial.ending.type.d.ts.map +0 -1
- package/dist/js/types/email/trial.ending.type.js.map +0 -1
- package/dist/js/types/email/two.factor.code.type.d.ts +0 -11
- package/dist/js/types/email/two.factor.code.type.d.ts.map +0 -1
- package/dist/js/types/email/two.factor.code.type.js.map +0 -1
- package/dist/js/types/email/verify.email.type.d.ts +0 -11
- package/dist/js/types/email/verify.email.type.d.ts.map +0 -1
- package/dist/js/types/email/verify.email.type.js.map +0 -1
- package/dist/js/types/email/weekly.report.type.d.ts +0 -14
- package/dist/js/types/email/weekly.report.type.d.ts.map +0 -1
- package/dist/js/types/email/weekly.report.type.js.map +0 -1
- package/dist/js/types/email/welcome.type.d.ts +0 -10
- package/dist/js/types/email/welcome.type.d.ts.map +0 -1
- package/dist/js/types/email/welcome.type.js.map +0 -1
- package/dist/js/types/email.d.ts.map +0 -1
- package/dist/js/types/email.js.map +0 -1
- package/dist/js/types/healthHandlers.d.ts +0 -2
- package/dist/js/types/healthHandlers.d.ts.map +0 -1
- package/dist/js/types/healthHandlers.js +0 -2
- package/dist/js/types/healthHandlers.js.map +0 -1
- package/dist/js/types/upload.d.ts +0 -61
- package/dist/js/types/upload.d.ts.map +0 -1
- package/dist/js/types/upload.js.map +0 -1
- package/dist/js/types/uploadFile.d.ts +0 -10
- package/dist/js/types/uploadFile.d.ts.map +0 -1
- package/dist/js/types/uploadFile.js +0 -2
- package/dist/js/types/uploadFile.js.map +0 -1
- package/dist/js/types/uploadHandlers.d.ts +0 -2
- package/dist/js/types/uploadHandlers.d.ts.map +0 -1
- package/dist/js/types/uploadHandlers.js +0 -2
- package/dist/js/types/uploadHandlers.js.map +0 -1
- package/dist/js/upload/create.d.ts +0 -8
- package/dist/js/upload/create.d.ts.map +0 -1
- package/dist/js/upload/create.js +0 -70
- package/dist/js/upload/create.js.map +0 -1
- package/dist/js/upload/delete.d.ts +0 -8
- package/dist/js/upload/delete.d.ts.map +0 -1
- package/dist/js/upload/delete.js +0 -100
- package/dist/js/upload/delete.js.map +0 -1
- package/dist/js/upload/index.d.ts +0 -3
- package/dist/js/upload/index.d.ts.map +0 -1
- package/dist/js/upload/index.js +0 -3
- package/dist/js/upload/index.js.map +0 -1
- package/dist/js/upload/providers/cloudinary.provider.d.ts +0 -2
- package/dist/js/upload/providers/cloudinary.provider.d.ts.map +0 -1
- package/dist/js/upload/providers/cloudinary.provider.js +0 -2
- package/dist/js/upload/providers/cloudinary.provider.js.map +0 -1
- package/dist/js/upload/update.d.ts +0 -10
- package/dist/js/upload/update.d.ts.map +0 -1
- package/dist/js/upload/update.js +0 -138
- package/dist/js/upload/update.js.map +0 -1
- package/dist/js/utils/AppError.d.ts +0 -26
- package/dist/js/utils/AppError.d.ts.map +0 -1
- package/dist/js/utils/AppError.js +0 -18
- package/dist/js/utils/AppError.js.map +0 -1
- package/dist/js/utils/AppLog.d.ts +0 -10
- package/dist/js/utils/AppLog.d.ts.map +0 -1
- package/dist/js/utils/AppLog.js +0 -12
- package/dist/js/utils/AppLog.js.map +0 -1
- package/dist/js/utils/Applog.d.ts +0 -2
- package/dist/js/utils/Applog.d.ts.map +0 -1
- package/dist/js/utils/Applog.js +0 -2
- package/dist/js/utils/Applog.js.map +0 -1
- package/dist/js/utils/AsyncHandler.d.ts +0 -4
- package/dist/js/utils/AsyncHandler.d.ts.map +0 -1
- package/dist/js/utils/AsyncHandler.js +0 -5
- package/dist/js/utils/AsyncHandler.js.map +0 -1
- package/dist/js/utils/extractParamsNames.d.ts +0 -2
- package/dist/js/utils/extractParamsNames.d.ts.map +0 -1
- package/dist/js/utils/extractParamsNames.js +0 -13
- package/dist/js/utils/extractParamsNames.js.map +0 -1
- package/dist/js/utils/getErrorDetail.d.ts +0 -9
- package/dist/js/utils/getErrorDetail.d.ts.map +0 -1
- package/dist/js/utils/getErrorDetail.js +0 -10
- package/dist/js/utils/getErrorDetail.js.map +0 -1
- package/dist/js/utils/getModel.d.ts +0 -8
- package/dist/js/utils/getModel.d.ts.map +0 -1
- package/dist/js/utils/getModel.js +0 -25
- package/dist/js/utils/getModel.js.map +0 -1
- package/dist/js/utils/handleJWT.d.ts +0 -13
- package/dist/js/utils/handleJWT.d.ts.map +0 -1
- package/dist/js/utils/handleJWT.js +0 -86
- package/dist/js/utils/handleJWT.js.map +0 -1
- package/dist/js/utils/libsodium.d.ts +0 -20
- package/dist/js/utils/libsodium.d.ts.map +0 -1
- package/dist/js/utils/libsodium.js +0 -193
- package/dist/js/utils/libsodium.js.map +0 -1
- package/dist/js/utils/otpPurposes.d.ts +0 -3
- package/dist/js/utils/otpPurposes.d.ts.map +0 -1
- package/dist/js/utils/otpPurposes.js +0 -45
- package/dist/js/utils/otpPurposes.js.map +0 -1
- package/dist/js/utils/response.d.ts +0 -13
- package/dist/js/utils/response.d.ts.map +0 -1
- package/dist/js/utils/response.js +0 -15
- package/dist/js/utils/response.js.map +0 -1
- package/dist/js/utils/sanitize.d.ts +0 -4
- package/dist/js/utils/sanitize.d.ts.map +0 -1
- package/dist/js/utils/sanitize.js +0 -59
- package/dist/js/utils/sanitize.js.map +0 -1
- package/dist/js/utils/saveRefreshToken.d.ts +0 -17
- package/dist/js/utils/saveRefreshToken.d.ts.map +0 -1
- package/dist/js/utils/saveRefreshToken.js +0 -19
- package/dist/js/utils/saveRefreshToken.js.map +0 -1
- package/dist/js/utils/validate.d.ts +0 -4
- package/dist/js/utils/validate.d.ts.map +0 -1
- package/dist/js/utils/validate.js +0 -58
- package/dist/js/utils/validate.js.map +0 -1
- package/dist/js/utils/validationKeyError.d.ts +0 -4
- package/dist/js/utils/validationKeyError.d.ts.map +0 -1
- package/dist/js/utils/validationKeyError.js +0 -47
- package/dist/js/utils/validationKeyError.js.map +0 -1
- package/dist/js/validations.d.ts +0 -3
- package/dist/js/validations.d.ts.map +0 -1
- package/dist/js/validations.js +0 -6
- package/dist/js/validations.js.map +0 -1
- package/readme.md +0 -1476
- /package/dist/{js/email → email}/templates/account.created.d.ts +0 -0
- /package/dist/{js/email → email}/templates/account.created.js +0 -0
- /package/dist/{js/email → email}/templates/account.deleted.d.ts +0 -0
- /package/dist/{js/email → email}/templates/account.deleted.js +0 -0
- /package/dist/{js/email → email}/templates/account.updated.d.ts +0 -0
- /package/dist/{js/email → email}/templates/account.updated.js +0 -0
- /package/dist/{js/email → email}/templates/announcement.d.ts +0 -0
- /package/dist/{js/email → email}/templates/announcement.js +0 -0
- /package/dist/{js/email → email}/templates/api.key.created.d.ts +0 -0
- /package/dist/{js/email → email}/templates/api.key.created.js +0 -0
- /package/dist/{js/email → email}/templates/api.key.revoked.d.ts +0 -0
- /package/dist/{js/email → email}/templates/api.key.revoked.js +0 -0
- /package/dist/{js/email → email}/templates/contact.form.d.ts +0 -0
- /package/dist/{js/email → email}/templates/contact.form.js +0 -0
- /package/dist/{js/email → email}/templates/daily.report.d.ts +0 -0
- /package/dist/{js/email → email}/templates/daily.report.js +0 -0
- /package/dist/{js/email → email}/templates/email.changed.d.ts +0 -0
- /package/dist/{js/email → email}/templates/email.changed.js +0 -0
- /package/dist/{js/email → email}/templates/feedback.d.ts +0 -0
- /package/dist/{js/email → email}/templates/feedback.js +0 -0
- /package/dist/{js/email → email}/templates/index.d.ts +0 -0
- /package/dist/{js/email → email}/templates/index.js +0 -0
- /package/dist/{js/email → email}/templates/invoice.d.ts +0 -0
- /package/dist/{js/email → email}/templates/invoice.js +0 -0
- /package/dist/{js/email → email}/templates/login.alert.d.ts +0 -0
- /package/dist/{js/email → email}/templates/login.alert.js +0 -0
- /package/dist/{js/email → email}/templates/magic.link.d.ts +0 -0
- /package/dist/{js/email → email}/templates/magic.link.js +0 -0
- /package/dist/{js/email → email}/templates/maintenance.d.ts +0 -0
- /package/dist/{js/email → email}/templates/maintenance.js +0 -0
- /package/dist/{js/email → email}/templates/member.added.d.ts +0 -0
- /package/dist/{js/email → email}/templates/member.added.js +0 -0
- /package/dist/{js/email → email}/templates/member.removed.d.ts +0 -0
- /package/dist/{js/email → email}/templates/member.removed.js +0 -0
- /package/dist/{js/email → email}/templates/mention.d.ts +0 -0
- /package/dist/{js/email → email}/templates/mention.js +0 -0
- /package/dist/{js/email → email}/templates/monthly.report.d.ts +0 -0
- /package/dist/{js/email → email}/templates/monthly.report.js +0 -0
- /package/dist/{js/email → email}/templates/new.comment.d.ts +0 -0
- /package/dist/{js/email → email}/templates/new.comment.js +0 -0
- /package/dist/{js/email → email}/templates/new.device.login.d.ts +0 -0
- /package/dist/{js/email → email}/templates/new.device.login.js +0 -0
- /package/dist/{js/email → email}/templates/new.message.d.ts +0 -0
- /package/dist/{js/email → email}/templates/new.message.js +0 -0
- /package/dist/{js/email → email}/templates/notification.d.ts +0 -0
- /package/dist/{js/email → email}/templates/notification.js +0 -0
- /package/dist/{js/email → email}/templates/order.cancelled.d.ts +0 -0
- /package/dist/{js/email → email}/templates/order.cancelled.js +0 -0
- /package/dist/{js/email → email}/templates/order.confirmation.d.ts +0 -0
- /package/dist/{js/email → email}/templates/order.confirmation.js +0 -0
- /package/dist/{js/email → email}/templates/order.delivered.d.ts +0 -0
- /package/dist/{js/email → email}/templates/order.delivered.js +0 -0
- /package/dist/{js/email → email}/templates/order.shipped.d.ts +0 -0
- /package/dist/{js/email → email}/templates/order.shipped.js +0 -0
- /package/dist/{js/email → email}/templates/organization.invitation.d.ts +0 -0
- /package/dist/{js/email → email}/templates/organization.invitation.js +0 -0
- /package/dist/{js/email → email}/templates/otp.verfication.d.ts +0 -0
- /package/dist/{js/email → email}/templates/otp.verfication.js +0 -0
- /package/dist/{js/email → email}/templates/password.changed.d.ts +0 -0
- /package/dist/{js/email → email}/templates/password.changed.js +0 -0
- /package/dist/{js/email → email}/templates/password.expiring.d.ts +0 -0
- /package/dist/{js/email → email}/templates/password.expiring.js +0 -0
- /package/dist/{js/email → email}/templates/password.reset.d.ts +0 -0
- /package/dist/{js/email → email}/templates/password.reset.js +0 -0
- /package/dist/{js/email → email}/templates/payment.failed.d.ts +0 -0
- /package/dist/{js/email → email}/templates/payment.failed.js +0 -0
- /package/dist/{js/email → email}/templates/payment.success.d.ts +0 -0
- /package/dist/{js/email → email}/templates/payment.success.js +0 -0
- /package/dist/{js/email → email}/templates/receipt.d.ts +0 -0
- /package/dist/{js/email → email}/templates/receipt.js +0 -0
- /package/dist/{js/email → email}/templates/reminder.d.ts +0 -0
- /package/dist/{js/email → email}/templates/reminder.js +0 -0
- /package/dist/{js/email → email}/templates/security.alert.d.ts +0 -0
- /package/dist/{js/email → email}/templates/security.alert.js +0 -0
- /package/dist/{js/email → email}/templates/subscription.cancelled.d.ts +0 -0
- /package/dist/{js/email → email}/templates/subscription.cancelled.js +0 -0
- /package/dist/{js/email → email}/templates/subscription.created.d.ts +0 -0
- /package/dist/{js/email → email}/templates/subscription.created.js +0 -0
- /package/dist/{js/email → email}/templates/subscription.renewed.d.ts +0 -0
- /package/dist/{js/email → email}/templates/subscription.renewed.js +0 -0
- /package/dist/{js/email → email}/templates/support.ticket.d.ts +0 -0
- /package/dist/{js/email → email}/templates/support.ticket.js +0 -0
- /package/dist/{js/email → email}/templates/team.invitation.d.ts +0 -0
- /package/dist/{js/email → email}/templates/team.invitation.js +0 -0
- /package/dist/{js/email → email}/templates/trial.ending.d.ts +0 -0
- /package/dist/{js/email → email}/templates/trial.ending.js +0 -0
- /package/dist/{js/email → email}/templates/two.factor.code.d.ts +0 -0
- /package/dist/{js/email → email}/templates/two.factor.code.js +0 -0
- /package/dist/{js/email → email}/templates/verify.email.d.ts +0 -0
- /package/dist/{js/email → email}/templates/verify.email.js +0 -0
- /package/dist/{js/email → email}/templates/weekly.report.d.ts +0 -0
- /package/dist/{js/email → email}/templates/weekly.report.js +0 -0
- /package/dist/{js/email → email}/templates/welcome.d.ts +0 -0
- /package/dist/{js/email → email}/templates/welcome.js +0 -0
- /package/dist/{js/email → email}/utils/auto-fields.type.d.ts +0 -0
- /package/dist/{js/email → email}/utils/auto-fields.type.js +0 -0
- /package/dist/{js/lib → fields}/roles.d.ts +0 -0
- /package/dist/{js/lib → fields}/roles.js +0 -0
- /package/dist/{js/lib → fields}/unified.types.js +0 -0
- /package/dist/{js/types → types}/ActionHandler.js +0 -0
- /package/dist/{js/types → types}/Collection.js +0 -0
- /package/dist/{js/types → types}/EmailActionTemplate.d.ts +0 -0
- /package/dist/{js/types → types}/EmailActionTemplate.js +0 -0
- /package/dist/{js/types → types}/Route.js +0 -0
- /package/dist/{js/types → types}/StoreFile.js +0 -0
- /package/dist/{js/types → types}/email/account.created.type.js +0 -0
- /package/dist/{js/types → types}/email/account.deleted.type.js +0 -0
- /package/dist/{js/types → types}/email/account.updated.type.js +0 -0
- /package/dist/{js/types → types}/email/announcement.type.js +0 -0
- /package/dist/{js/types → types}/email/api.key.created.type.js +0 -0
- /package/dist/{js/types → types}/email/api.key.revoked.type.js +0 -0
- /package/dist/{js/types → types}/email/contact.form.type.js +0 -0
- /package/dist/{js/types → types}/email/daily.report.type.js +0 -0
- /package/dist/{js/types → types}/email/email.changed.type.js +0 -0
- /package/dist/{js/types → types}/email/feedback.type.js +0 -0
- /package/dist/{js/types → types}/email/index.d.ts +0 -0
- /package/dist/{js/crud → types}/email/index.js +0 -0
- /package/dist/{js/types → types}/email/invoice.type.js +0 -0
- /package/dist/{js/types → types}/email/login.alert.type.js +0 -0
- /package/dist/{js/types → types}/email/magic.link.type.js +0 -0
- /package/dist/{js/types → types}/email/maintenance.type.js +0 -0
- /package/dist/{js/types → types}/email/member.added.type.js +0 -0
- /package/dist/{js/types → types}/email/member.removed.type.js +0 -0
- /package/dist/{js/types → types}/email/mention.type.js +0 -0
- /package/dist/{js/types → types}/email/monthly.report.type.js +0 -0
- /package/dist/{js/types → types}/email/new.comment.type.js +0 -0
- /package/dist/{js/types → types}/email/new.device.login.type.js +0 -0
- /package/dist/{js/types → types}/email/new.message.type.js +0 -0
- /package/dist/{js/types → types}/email/notification.type.js +0 -0
- /package/dist/{js/types → types}/email/order.cancelled.type.js +0 -0
- /package/dist/{js/types → types}/email/order.confirmation.type.js +0 -0
- /package/dist/{js/types → types}/email/order.delivered.type.js +0 -0
- /package/dist/{js/types → types}/email/order.shipped.type.js +0 -0
- /package/dist/{js/types → types}/email/organization.invitation.type.js +0 -0
- /package/dist/{js/types → types}/email/otp.verification.type.js +0 -0
- /package/dist/{js/types → types}/email/password.changed.type.js +0 -0
- /package/dist/{js/types → types}/email/password.expiring.type.js +0 -0
- /package/dist/{js/types → types}/email/password.reset.type.js +0 -0
- /package/dist/{js/types → types}/email/payment.failed.type.js +0 -0
- /package/dist/{js/types → types}/email/payment.success.type.js +0 -0
- /package/dist/{js/types → types}/email/receipt.type.js +0 -0
- /package/dist/{js/types → types}/email/reminder.type.js +0 -0
- /package/dist/{js/types → types}/email/security.alert.type.js +0 -0
- /package/dist/{js/types → types}/email/static-config.type.d.ts +0 -0
- /package/dist/{js/types → types}/email/static-config.type.js +0 -0
- /package/dist/{js/types → types}/email/subscription.cancelled.type.js +0 -0
- /package/dist/{js/types → types}/email/subscription.created.type.js +0 -0
- /package/dist/{js/types → types}/email/subscription.renewed.type.js +0 -0
- /package/dist/{js/types → types}/email/support.ticket.type.js +0 -0
- /package/dist/{js/types → types}/email/team.invitation.type.js +0 -0
- /package/dist/{js/types → types}/email/trial.ending.type.js +0 -0
- /package/dist/{js/types → types}/email/two.factor.code.type.js +0 -0
- /package/dist/{js/types → types}/email/verify.email.type.js +0 -0
- /package/dist/{js/types → types}/email/weekly.report.type.js +0 -0
- /package/dist/{js/types → types}/email/welcome.type.js +0 -0
- /package/dist/{js/types → types}/email.d.ts +0 -0
- /package/dist/{js/types → types}/email.js +0 -0
- /package/dist/{js/types → types}/upload.js +0 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
const json = (body, status = 200) => new Response(JSON.stringify(body), { status, headers: { "content-type": "application/json" } });
|
|
3
|
+
/**
|
|
4
|
+
* Stands in for Google's and GitHub's OAuth servers in tests: a `fetch` implementation that mimics
|
|
5
|
+
* their endpoints - including PKCE verification, single-use codes and each provider's own error style.
|
|
6
|
+
* Any URL it does not know throws, so a test can never talk to the real internet by accident.
|
|
7
|
+
*/
|
|
8
|
+
export class FakeOAuthServer {
|
|
9
|
+
credentials;
|
|
10
|
+
requests = [];
|
|
11
|
+
codes = new Map();
|
|
12
|
+
accessTokens = new Map();
|
|
13
|
+
failures = new Map();
|
|
14
|
+
counter = 0;
|
|
15
|
+
constructor(credentials = { clientId: "test-client-id", clientSecret: "test-client-secret" }) {
|
|
16
|
+
this.credentials = credentials;
|
|
17
|
+
}
|
|
18
|
+
/** Make the next token/profile call fail (once). */
|
|
19
|
+
failNext(target, failure) {
|
|
20
|
+
this.failures.set(target, failure);
|
|
21
|
+
}
|
|
22
|
+
/** Mint a one-time authorization code, as the provider would after the user approves. */
|
|
23
|
+
issueCode(provider, identity, options = {}) {
|
|
24
|
+
const code = `${provider}-code-${++this.counter}`;
|
|
25
|
+
this.codes.set(code, { provider, identity, ...(options.codeChallenge ? { challenge: options.codeChallenge } : {}) });
|
|
26
|
+
return code;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* "The user clicked Allow": reads the authorization URL Forge redirected to and returns the callback
|
|
30
|
+
* path (relative to the API base) the provider would send the browser to.
|
|
31
|
+
*/
|
|
32
|
+
approve(authorizationUrl, identity, apiPrefix = "/api/v1") {
|
|
33
|
+
const url = new URL(authorizationUrl);
|
|
34
|
+
const provider = url.hostname === "accounts.google.com" ? "google" : "github";
|
|
35
|
+
const challenge = url.searchParams.get("code_challenge") ?? undefined;
|
|
36
|
+
const code = this.issueCode(provider, identity, challenge ? { codeChallenge: challenge } : {});
|
|
37
|
+
const redirect = new URL(url.searchParams.get("redirect_uri") ?? "");
|
|
38
|
+
const query = new URLSearchParams({ code, state: url.searchParams.get("state") ?? "" });
|
|
39
|
+
return `${redirect.pathname.replace(apiPrefix, "")}?${query.toString()}`;
|
|
40
|
+
}
|
|
41
|
+
fetch = async (input, init) => {
|
|
42
|
+
const url = new URL(typeof input === "string" ? input : input instanceof URL ? input.href : input.url);
|
|
43
|
+
const method = (init?.method ?? "GET").toUpperCase();
|
|
44
|
+
const headers = Object.fromEntries(new Headers(init?.headers).entries());
|
|
45
|
+
const form = typeof init?.body === "string" ? Object.fromEntries(new URLSearchParams(init.body)) : undefined;
|
|
46
|
+
this.requests.push({ method, url: url.href, headers, ...(form ? { form } : {}) });
|
|
47
|
+
const key = `${method} ${url.host}${url.pathname}`;
|
|
48
|
+
switch (key) {
|
|
49
|
+
case "POST oauth2.googleapis.com/token":
|
|
50
|
+
return this.token("google", form ?? {});
|
|
51
|
+
case "POST github.com/login/oauth/access_token":
|
|
52
|
+
return this.token("github", form ?? {});
|
|
53
|
+
case "GET openidconnect.googleapis.com/v1/userinfo":
|
|
54
|
+
return this.profile("google", headers, (p) => ({
|
|
55
|
+
sub: p.identity.id,
|
|
56
|
+
email: p.identity.email,
|
|
57
|
+
email_verified: p.identity.emailVerified ?? true,
|
|
58
|
+
name: p.identity.name,
|
|
59
|
+
picture: p.identity.picture,
|
|
60
|
+
}));
|
|
61
|
+
case "GET api.github.com/user":
|
|
62
|
+
return this.profile("github", headers, (p) => ({
|
|
63
|
+
id: Number(p.identity.id),
|
|
64
|
+
login: `user${p.identity.id}`,
|
|
65
|
+
name: p.identity.name ?? null,
|
|
66
|
+
avatar_url: p.identity.picture,
|
|
67
|
+
email: null,
|
|
68
|
+
}));
|
|
69
|
+
case "GET api.github.com/user/emails":
|
|
70
|
+
return this.profile("github", headers, (p) => p.identity.emails ?? (p.identity.email ? [{ email: p.identity.email, primary: true, verified: p.identity.emailVerified ?? true }] : []));
|
|
71
|
+
default:
|
|
72
|
+
throw new Error(`FakeOAuthServer: unexpected request ${key}`);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
takeFailure(target) {
|
|
76
|
+
const failure = this.failures.get(target);
|
|
77
|
+
if (!failure)
|
|
78
|
+
return undefined;
|
|
79
|
+
this.failures.delete(target);
|
|
80
|
+
if (failure.network)
|
|
81
|
+
throw new TypeError("fetch failed");
|
|
82
|
+
return json(failure.body ?? { error: "server_error", error_description: "secret internal detail" }, failure.status ?? 500);
|
|
83
|
+
}
|
|
84
|
+
token(provider, form) {
|
|
85
|
+
const injected = this.takeFailure("token");
|
|
86
|
+
if (injected)
|
|
87
|
+
return injected;
|
|
88
|
+
if (form.client_id !== this.credentials.clientId || form.client_secret !== this.credentials.clientSecret) {
|
|
89
|
+
return provider === "github" ? json({ error: "incorrect_client_credentials" }) : json({ error: "invalid_client" }, 401);
|
|
90
|
+
}
|
|
91
|
+
// GitHub reports failures with HTTP 200 and an `error` field; Google uses 400.
|
|
92
|
+
const bad = (error) => (provider === "github" ? json({ error }) : json({ error }, 400));
|
|
93
|
+
const issued = form.code ? this.codes.get(form.code) : undefined;
|
|
94
|
+
if (!issued || issued.provider !== provider)
|
|
95
|
+
return bad(provider === "github" ? "bad_verification_code" : "invalid_grant");
|
|
96
|
+
this.codes.delete(form.code); // single use
|
|
97
|
+
if (issued.challenge) {
|
|
98
|
+
const expected = createHash("sha256").update(form.code_verifier ?? "").digest("base64url");
|
|
99
|
+
if (!form.code_verifier || expected !== issued.challenge)
|
|
100
|
+
return bad("invalid_grant");
|
|
101
|
+
}
|
|
102
|
+
const accessToken = `${provider}-access-${++this.counter}`;
|
|
103
|
+
this.accessTokens.set(accessToken, issued);
|
|
104
|
+
return json({ access_token: accessToken, token_type: "bearer", scope: "email" });
|
|
105
|
+
}
|
|
106
|
+
profile(provider, headers, build) {
|
|
107
|
+
const injected = this.takeFailure("profile");
|
|
108
|
+
if (injected)
|
|
109
|
+
return injected;
|
|
110
|
+
const token = headers.authorization?.replace(/^Bearer /i, "");
|
|
111
|
+
const issued = token ? this.accessTokens.get(token) : undefined;
|
|
112
|
+
if (!issued || issued.provider !== provider)
|
|
113
|
+
return json({ message: "Bad credentials" }, 401);
|
|
114
|
+
return json(build(issued));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=FakeOAuthServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FakeOAuthServer.js","sourceRoot":"","sources":["../../src/testing/FakeOAuthServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DataSource, ModelDefinition, Repository } from "../data/Repository.js";
|
|
2
|
+
import { InMemoryRepository } from "./InMemoryRepository.js";
|
|
3
|
+
/** A {@link DataSource} that keeps everything in memory. Use it to test an app without MongoDB. */
|
|
4
|
+
export declare class InMemoryDataSource implements DataSource {
|
|
5
|
+
private readonly repos;
|
|
6
|
+
/** Set to `false` to simulate a database outage in health checks. */
|
|
7
|
+
healthy: boolean;
|
|
8
|
+
connect(): Promise<void>;
|
|
9
|
+
disconnect(): Promise<void>;
|
|
10
|
+
register(definition: ModelDefinition): Repository;
|
|
11
|
+
repository(modelName: string): InMemoryRepository;
|
|
12
|
+
has(modelName: string): boolean;
|
|
13
|
+
ping(): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=InMemoryDataSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryDataSource.d.ts","sourceRoot":"","sources":["../../src/testing/InMemoryDataSource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,mGAAmG;AACnG,qBAAa,kBAAmB,YAAW,UAAU;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,qEAAqE;IACrE,OAAO,UAAQ;IAET,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAG;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAG;IAEpC,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,UAAU,CAMhD;IAED,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAIhD;IAED,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9B;IAEK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAE7B;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ConfigurationError } from "../errors/index.js";
|
|
2
|
+
import { InMemoryRepository } from "./InMemoryRepository.js";
|
|
3
|
+
/** A {@link DataSource} that keeps everything in memory. Use it to test an app without MongoDB. */
|
|
4
|
+
export class InMemoryDataSource {
|
|
5
|
+
repos = new Map();
|
|
6
|
+
/** Set to `false` to simulate a database outage in health checks. */
|
|
7
|
+
healthy = true;
|
|
8
|
+
async connect() { }
|
|
9
|
+
async disconnect() { }
|
|
10
|
+
register(definition) {
|
|
11
|
+
const existing = this.repos.get(definition.name);
|
|
12
|
+
if (existing)
|
|
13
|
+
return existing;
|
|
14
|
+
const repo = new InMemoryRepository(definition.name, definition, (name) => this.repos.get(name));
|
|
15
|
+
this.repos.set(definition.name, repo);
|
|
16
|
+
return repo;
|
|
17
|
+
}
|
|
18
|
+
repository(modelName) {
|
|
19
|
+
const repo = this.repos.get(modelName);
|
|
20
|
+
if (!repo)
|
|
21
|
+
throw new ConfigurationError({ message: `Model '${modelName}' is not registered.` });
|
|
22
|
+
return repo;
|
|
23
|
+
}
|
|
24
|
+
has(modelName) {
|
|
25
|
+
return this.repos.has(modelName);
|
|
26
|
+
}
|
|
27
|
+
async ping() {
|
|
28
|
+
return this.healthy;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=InMemoryDataSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryDataSource.js","sourceRoot":"","sources":["../../src/testing/InMemoryDataSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,mGAAmG;AACnG,MAAM,OAAO,kBAAkB;IACZ,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC/D,qEAAqE;IACrE,OAAO,GAAG,IAAI,CAAC;IAEf,KAAK,CAAC,OAAO,KAAmB,CAAC;IACjC,KAAK,CAAC,UAAU,KAAmB,CAAC;IAEpC,QAAQ,CAAC,UAA2B;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,kBAAkB,CAAC,EAAE,OAAO,EAAE,UAAU,SAAS,sBAAsB,EAAE,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Doc, FindOptions, Filter, ModelDefinition, Repository } from "../data/Repository.js";
|
|
2
|
+
type Resolver = (model: string) => Repository | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* A small in-memory {@link Repository} that mimics the Mongoose behaviours
|
|
5
|
+
* Forge depends on: defaults, `required`, `lowercase`/`trim`, unique indexes
|
|
6
|
+
* (throwing the same E11000 shape), `select: false` fields and `populate`.
|
|
7
|
+
* Meant for tests - it is not a database.
|
|
8
|
+
*/
|
|
9
|
+
export declare class InMemoryRepository implements Repository {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
private readonly resolve;
|
|
12
|
+
private readonly rows;
|
|
13
|
+
private readonly fields;
|
|
14
|
+
/** The model each reference field points at, for `populate`. */
|
|
15
|
+
private readonly references;
|
|
16
|
+
private readonly unique;
|
|
17
|
+
private readonly secrets;
|
|
18
|
+
constructor(name: string, definition: ModelDefinition, resolve: Resolver);
|
|
19
|
+
findById(id: string, options?: FindOptions): Promise<Doc | null>;
|
|
20
|
+
findOne(filter: Filter, options?: FindOptions): Promise<Doc | null>;
|
|
21
|
+
find(filter: Filter, options?: FindOptions): Promise<Doc[]>;
|
|
22
|
+
count(filter: Filter): Promise<number>;
|
|
23
|
+
create(data: Record<string, unknown>): Promise<Doc>;
|
|
24
|
+
/**
|
|
25
|
+
* Mimics Mongoose's `insertMany` with `ordered: true`. Every document is validated first, so one invalid
|
|
26
|
+
* document inserts nothing. The documents are then inserted in order, and a unique-index violation stops the
|
|
27
|
+
* insert while the documents before it stay saved. MongoDB reports that violation as a bulk write error, which
|
|
28
|
+
* keeps the code and the server message but loses the key pattern.
|
|
29
|
+
*/
|
|
30
|
+
createMany(items: Record<string, unknown>[]): Promise<Doc[]>;
|
|
31
|
+
private asBulkWriteError;
|
|
32
|
+
updateById(id: string, data: Record<string, unknown>): Promise<Doc | null>;
|
|
33
|
+
updateMany(filter: Filter, data: Record<string, unknown>): Promise<number>;
|
|
34
|
+
deleteById(id: string): Promise<Doc | null>;
|
|
35
|
+
deleteMany(filter: Filter): Promise<number>;
|
|
36
|
+
/** Test helper: everything stored, secrets included. */
|
|
37
|
+
dump(): Doc[];
|
|
38
|
+
private matches;
|
|
39
|
+
private prepare;
|
|
40
|
+
private normalise;
|
|
41
|
+
private validate;
|
|
42
|
+
private assertUnique;
|
|
43
|
+
private read;
|
|
44
|
+
/**
|
|
45
|
+
* Like Mongoose: `path` may name several fields separated by spaces, a reference to a document that no longer
|
|
46
|
+
* exists becomes `null`, and missing documents are left out of an array of references.
|
|
47
|
+
*/
|
|
48
|
+
private populate;
|
|
49
|
+
}
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=InMemoryRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryRepository.d.ts","sourceRoot":"","sources":["../../src/testing/InMemoryRepository.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,EAAkB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAgBnH,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;AAU1D;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,UAAU;IASjD,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,YACW,IAAI,EAAE,MAAM,EACrB,UAAU,EAAE,eAAe,EACV,OAAO,EAAE,QAAQ,EAcnC;IAEK,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAEzE;IAEK,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAG5E;IAEK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAiBpE;IAEK,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3C;IAEK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAKxD;IAED;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAajE;IAED,OAAO,CAAC,gBAAgB;IAQlB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAO/E;IAEK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/E;IAEK,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAKhD;IAEK,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAShD;IAED,wDAAwD;IACxD,IAAI,IAAI,GAAG,EAAE,CAEZ;IAID,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,OAAO;IAoBf,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,YAAY;YAcN,IAAI;IAOlB;;;OAGG;YACW,QAAQ;CAkBvB"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { newObjectId } from "../utils/ids.js";
|
|
2
|
+
import { referenceOf } from "../data/references.js";
|
|
3
|
+
const clone = (value) => structuredClone(value);
|
|
4
|
+
const asDef = (field) => {
|
|
5
|
+
if (typeof field !== "object" || field === null || Array.isArray(field))
|
|
6
|
+
return undefined;
|
|
7
|
+
const f = field;
|
|
8
|
+
return (f.mongoose && typeof f.mongoose === "object" && !Array.isArray(f.mongoose) ? f.mongoose : f);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* A small in-memory {@link Repository} that mimics the Mongoose behaviours
|
|
12
|
+
* Forge depends on: defaults, `required`, `lowercase`/`trim`, unique indexes
|
|
13
|
+
* (throwing the same E11000 shape), `select: false` fields and `populate`.
|
|
14
|
+
* Meant for tests - it is not a database.
|
|
15
|
+
*/
|
|
16
|
+
export class InMemoryRepository {
|
|
17
|
+
name;
|
|
18
|
+
resolve;
|
|
19
|
+
rows = new Map();
|
|
20
|
+
fields;
|
|
21
|
+
/** The model each reference field points at, for `populate`. */
|
|
22
|
+
references;
|
|
23
|
+
unique;
|
|
24
|
+
secrets;
|
|
25
|
+
constructor(name, definition, resolve) {
|
|
26
|
+
this.name = name;
|
|
27
|
+
this.resolve = resolve;
|
|
28
|
+
this.fields = Object.fromEntries(Object.entries(definition.schema).map(([k, v]) => [k, asDef(v)]));
|
|
29
|
+
this.references = Object.fromEntries(Object.entries(definition.schema).map(([k, v]) => {
|
|
30
|
+
const ref = referenceOf(v)?.ref;
|
|
31
|
+
return [k, typeof ref === "string" ? ref : undefined];
|
|
32
|
+
}));
|
|
33
|
+
this.secrets = new Set(Object.entries(this.fields).filter(([, d]) => d?.select === false).map(([k]) => k));
|
|
34
|
+
this.unique = [
|
|
35
|
+
...Object.entries(this.fields).filter(([, d]) => d?.unique).map(([k]) => [k]),
|
|
36
|
+
...(definition.indexes ?? []).filter((i) => i.unique).map((i) => Object.keys(i.fields)),
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
async findById(id, options = {}) {
|
|
40
|
+
return this.findOne({ _id: id }, options);
|
|
41
|
+
}
|
|
42
|
+
async findOne(filter, options = {}) {
|
|
43
|
+
const found = [...this.rows.values()].find((row) => this.matches(row, filter));
|
|
44
|
+
return found ? this.read(found, options) : null;
|
|
45
|
+
}
|
|
46
|
+
async find(filter, options = {}) {
|
|
47
|
+
let rows = [...this.rows.values()].filter((row) => this.matches(row, filter));
|
|
48
|
+
if (options.sort) {
|
|
49
|
+
const entries = Object.entries(options.sort);
|
|
50
|
+
rows = rows.sort((a, b) => {
|
|
51
|
+
for (const [key, dir] of entries) {
|
|
52
|
+
const x = a[key];
|
|
53
|
+
const y = b[key];
|
|
54
|
+
if (x === y)
|
|
55
|
+
continue;
|
|
56
|
+
return (x < y ? -1 : 1) * dir;
|
|
57
|
+
}
|
|
58
|
+
return 0;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (options.skip)
|
|
62
|
+
rows = rows.slice(options.skip);
|
|
63
|
+
if (options.limit)
|
|
64
|
+
rows = rows.slice(0, options.limit);
|
|
65
|
+
return Promise.all(rows.map((row) => this.read(row, options)));
|
|
66
|
+
}
|
|
67
|
+
async count(filter) {
|
|
68
|
+
return [...this.rows.values()].filter((row) => this.matches(row, filter)).length;
|
|
69
|
+
}
|
|
70
|
+
async create(data) {
|
|
71
|
+
const doc = this.prepare(data);
|
|
72
|
+
this.assertUnique(doc);
|
|
73
|
+
this.rows.set(doc._id, doc);
|
|
74
|
+
return clone(doc);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Mimics Mongoose's `insertMany` with `ordered: true`. Every document is validated first, so one invalid
|
|
78
|
+
* document inserts nothing. The documents are then inserted in order, and a unique-index violation stops the
|
|
79
|
+
* insert while the documents before it stay saved. MongoDB reports that violation as a bulk write error, which
|
|
80
|
+
* keeps the code and the server message but loses the key pattern.
|
|
81
|
+
*/
|
|
82
|
+
async createMany(items) {
|
|
83
|
+
const prepared = items.map((item) => this.prepare(item));
|
|
84
|
+
const created = [];
|
|
85
|
+
for (const doc of prepared) {
|
|
86
|
+
try {
|
|
87
|
+
this.assertUnique(doc);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
throw this.asBulkWriteError(error);
|
|
91
|
+
}
|
|
92
|
+
this.rows.set(doc._id, doc);
|
|
93
|
+
created.push(clone(doc));
|
|
94
|
+
}
|
|
95
|
+
return created;
|
|
96
|
+
}
|
|
97
|
+
asBulkWriteError(error) {
|
|
98
|
+
const { code, keyPattern } = error;
|
|
99
|
+
if (code !== 11000 || !keyPattern)
|
|
100
|
+
return error;
|
|
101
|
+
const index = Object.entries(keyPattern).map(([field, direction]) => `${field}_${direction}`).join("_");
|
|
102
|
+
const message = `E11000 duplicate key error collection: app.${this.name} index: ${index} dup key: { ${Object.keys(keyPattern).join(", ")} }`;
|
|
103
|
+
return Object.assign(new Error(message), { name: "MongoBulkWriteError", code: 11000, writeErrors: [] });
|
|
104
|
+
}
|
|
105
|
+
async updateById(id, data) {
|
|
106
|
+
const existing = this.rows.get(id);
|
|
107
|
+
if (!existing)
|
|
108
|
+
return null;
|
|
109
|
+
const next = { ...existing, ...this.normalise(clone(data)), updatedAt: new Date() };
|
|
110
|
+
this.assertUnique(next, id);
|
|
111
|
+
this.rows.set(id, next);
|
|
112
|
+
return this.read(next, {});
|
|
113
|
+
}
|
|
114
|
+
async updateMany(filter, data) {
|
|
115
|
+
let n = 0;
|
|
116
|
+
for (const row of [...this.rows.values()]) {
|
|
117
|
+
if (this.matches(row, filter)) {
|
|
118
|
+
await this.updateById(row._id, data);
|
|
119
|
+
n++;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return n;
|
|
123
|
+
}
|
|
124
|
+
async deleteById(id) {
|
|
125
|
+
const existing = this.rows.get(id);
|
|
126
|
+
if (!existing)
|
|
127
|
+
return null;
|
|
128
|
+
this.rows.delete(id);
|
|
129
|
+
return clone(existing);
|
|
130
|
+
}
|
|
131
|
+
async deleteMany(filter) {
|
|
132
|
+
let n = 0;
|
|
133
|
+
for (const row of [...this.rows.values()]) {
|
|
134
|
+
if (this.matches(row, filter)) {
|
|
135
|
+
this.rows.delete(row._id);
|
|
136
|
+
n++;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return n;
|
|
140
|
+
}
|
|
141
|
+
/** Test helper: everything stored, secrets included. */
|
|
142
|
+
dump() {
|
|
143
|
+
return [...this.rows.values()].map(clone);
|
|
144
|
+
}
|
|
145
|
+
// ── internals ────────────────────────────────────────────────────────────
|
|
146
|
+
matches(row, filter) {
|
|
147
|
+
return Object.entries(filter).every(([key, expected]) => {
|
|
148
|
+
const actual = row[key];
|
|
149
|
+
if (expected && typeof expected === "object" && "$in" in expected) {
|
|
150
|
+
return (expected.$in ?? []).map(String).includes(String(actual));
|
|
151
|
+
}
|
|
152
|
+
return String(actual) === String(expected);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
prepare(data) {
|
|
156
|
+
const doc = { ...clone(data) };
|
|
157
|
+
doc._id = typeof doc._id === "string" ? doc._id : newObjectId();
|
|
158
|
+
for (const [key, def] of Object.entries(this.fields)) {
|
|
159
|
+
if (doc[key] === undefined && def && "default" in def) {
|
|
160
|
+
const d = def.default;
|
|
161
|
+
doc[key] = typeof d === "function" ? d() : clone(d);
|
|
162
|
+
if (def.type === Date && typeof doc[key] === "number")
|
|
163
|
+
doc[key] = new Date(doc[key]);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
Object.assign(doc, this.normalise(doc));
|
|
167
|
+
const now = new Date();
|
|
168
|
+
doc.createdAt ??= now;
|
|
169
|
+
doc.updatedAt ??= now;
|
|
170
|
+
this.validate(doc);
|
|
171
|
+
return doc;
|
|
172
|
+
}
|
|
173
|
+
normalise(data) {
|
|
174
|
+
for (const [key, value] of Object.entries(data)) {
|
|
175
|
+
const def = this.fields[key];
|
|
176
|
+
if (typeof value === "string" && def) {
|
|
177
|
+
let v = value;
|
|
178
|
+
if (def.trim)
|
|
179
|
+
v = v.trim();
|
|
180
|
+
if (def.lowercase)
|
|
181
|
+
v = v.toLowerCase();
|
|
182
|
+
data[key] = v;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return data;
|
|
186
|
+
}
|
|
187
|
+
validate(doc) {
|
|
188
|
+
const errors = {};
|
|
189
|
+
for (const [key, def] of Object.entries(this.fields)) {
|
|
190
|
+
if (!def)
|
|
191
|
+
continue;
|
|
192
|
+
const value = doc[key];
|
|
193
|
+
const missing = value === undefined || value === null || value === "";
|
|
194
|
+
if (def.required && missing)
|
|
195
|
+
errors[key] = { path: key, kind: "required", message: `Path \`${key}\` is required.` };
|
|
196
|
+
else if (typeof value === "string") {
|
|
197
|
+
if (def.minlength && value.length < def.minlength)
|
|
198
|
+
errors[key] = { path: key, kind: "minlength", message: `Path \`${key}\` is too short.` };
|
|
199
|
+
if (def.maxlength && value.length > def.maxlength)
|
|
200
|
+
errors[key] = { path: key, kind: "maxlength", message: `Path \`${key}\` is too long.` };
|
|
201
|
+
if (def.enum && !def.enum.includes(value))
|
|
202
|
+
errors[key] = { path: key, kind: "enum", message: `\`${value}\` is not a valid enum value for path \`${key}\`.` };
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (Object.keys(errors).length > 0)
|
|
206
|
+
throw Object.assign(new Error(`${this.name} validation failed`), { name: "ValidationError", errors });
|
|
207
|
+
}
|
|
208
|
+
assertUnique(doc, ignoreId) {
|
|
209
|
+
for (const fields of this.unique) {
|
|
210
|
+
const clash = [...this.rows.values()].some((row) => row._id !== (ignoreId ?? doc._id) && fields.every((f) => row[f] !== undefined && String(row[f]) === String(doc[f])));
|
|
211
|
+
if (clash) {
|
|
212
|
+
throw Object.assign(new Error("E11000 duplicate key error"), {
|
|
213
|
+
code: 11000,
|
|
214
|
+
keyPattern: Object.fromEntries(fields.map((f) => [f, 1])),
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
async read(row, options) {
|
|
220
|
+
const copy = clone(row);
|
|
221
|
+
for (const secret of this.secrets)
|
|
222
|
+
if (!options.withSecrets?.includes(secret))
|
|
223
|
+
delete copy[secret];
|
|
224
|
+
if (options.populate)
|
|
225
|
+
await this.populate(copy, options.populate);
|
|
226
|
+
return copy;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Like Mongoose: `path` may name several fields separated by spaces, a reference to a document that no longer
|
|
230
|
+
* exists becomes `null`, and missing documents are left out of an array of references.
|
|
231
|
+
*/
|
|
232
|
+
async populate(doc, option) {
|
|
233
|
+
const wanted = new Set(["_id", ...option.select.split(/\s+/).filter(Boolean)]);
|
|
234
|
+
const pick = (target) => Object.fromEntries(Object.entries(target).filter(([k]) => wanted.has(k)));
|
|
235
|
+
for (const path of option.path.split(/\s+/).filter(Boolean)) {
|
|
236
|
+
const ref = this.references[path];
|
|
237
|
+
const stored = doc[path];
|
|
238
|
+
const repository = ref ? this.resolve(ref) : undefined;
|
|
239
|
+
if (!repository)
|
|
240
|
+
continue;
|
|
241
|
+
if (Array.isArray(stored)) {
|
|
242
|
+
const found = await Promise.all(stored.map(async (id) => (typeof id === "string" ? repository.findById(id) : null)));
|
|
243
|
+
doc[path] = found.filter((target) => target !== null).map(pick);
|
|
244
|
+
}
|
|
245
|
+
else if (typeof stored === "string") {
|
|
246
|
+
const target = await repository.findById(stored);
|
|
247
|
+
doc[path] = target ? pick(target) : null;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=InMemoryRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryRepository.js","sourceRoot":"","sources":["../../src/testing/InMemoryRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface TestResponse<T = any> {
|
|
2
|
+
status: number;
|
|
3
|
+
body: T;
|
|
4
|
+
headers: Headers;
|
|
5
|
+
}
|
|
6
|
+
export interface RequestOptions {
|
|
7
|
+
headers?: Record<string, string>;
|
|
8
|
+
/** Send without the cookie jar (e.g. to test a public route). */
|
|
9
|
+
noCookies?: boolean;
|
|
10
|
+
/** Pass `FormData` for multipart uploads. */
|
|
11
|
+
form?: FormData;
|
|
12
|
+
}
|
|
13
|
+
/** A tiny `fetch` wrapper with a cookie jar, so session flows read like a browser's. */
|
|
14
|
+
export declare class TestClient {
|
|
15
|
+
private readonly baseUrl;
|
|
16
|
+
private readonly jar;
|
|
17
|
+
constructor(baseUrl: string);
|
|
18
|
+
get cookies(): Record<string, string>;
|
|
19
|
+
setCookie(name: string, value: string): void;
|
|
20
|
+
clearCookies(): void;
|
|
21
|
+
get<T = any>(path: string, options?: RequestOptions): Promise<TestResponse<T>>;
|
|
22
|
+
post<T = any>(path: string, body?: unknown, options?: RequestOptions): Promise<TestResponse<T>>;
|
|
23
|
+
put<T = any>(path: string, body?: unknown, options?: RequestOptions): Promise<TestResponse<T>>;
|
|
24
|
+
patch<T = any>(path: string, body?: unknown, options?: RequestOptions): Promise<TestResponse<T>>;
|
|
25
|
+
delete<T = any>(path: string, body?: unknown, options?: RequestOptions): Promise<TestResponse<T>>;
|
|
26
|
+
request<T = any>(method: string, path: string, body?: unknown, options?: RequestOptions): Promise<TestResponse<T>>;
|
|
27
|
+
private absorbCookies;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=TestClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestClient.d.ts","sourceRoot":"","sources":["../../src/testing/TestClient.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,wFAAwF;AACxF,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEjD,YAA6B,OAAO,EAAE,MAAM,EAAI;IAEhD,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEpC;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE3C;IAED,YAAY,IAAI,IAAI,CAEnB;IAED,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,4BAElD;IACD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,4BAEnE;IACD,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,4BAElE;IACD,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,4BAEpE;IACD,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,4BAErE;IAEK,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAyB3H;IAED,OAAO,CAAC,aAAa;CAWtB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/** A tiny `fetch` wrapper with a cookie jar, so session flows read like a browser's. */
|
|
2
|
+
export class TestClient {
|
|
3
|
+
baseUrl;
|
|
4
|
+
jar = new Map();
|
|
5
|
+
constructor(baseUrl) {
|
|
6
|
+
this.baseUrl = baseUrl;
|
|
7
|
+
}
|
|
8
|
+
get cookies() {
|
|
9
|
+
return Object.fromEntries(this.jar);
|
|
10
|
+
}
|
|
11
|
+
setCookie(name, value) {
|
|
12
|
+
this.jar.set(name, value);
|
|
13
|
+
}
|
|
14
|
+
clearCookies() {
|
|
15
|
+
this.jar.clear();
|
|
16
|
+
}
|
|
17
|
+
get(path, options) {
|
|
18
|
+
return this.request("GET", path, undefined, options);
|
|
19
|
+
}
|
|
20
|
+
post(path, body, options) {
|
|
21
|
+
return this.request("POST", path, body, options);
|
|
22
|
+
}
|
|
23
|
+
put(path, body, options) {
|
|
24
|
+
return this.request("PUT", path, body, options);
|
|
25
|
+
}
|
|
26
|
+
patch(path, body, options) {
|
|
27
|
+
return this.request("PATCH", path, body, options);
|
|
28
|
+
}
|
|
29
|
+
delete(path, body, options) {
|
|
30
|
+
return this.request("DELETE", path, body, options);
|
|
31
|
+
}
|
|
32
|
+
async request(method, path, body, options = {}) {
|
|
33
|
+
const headers = { ...options.headers };
|
|
34
|
+
if (!options.noCookies && this.jar.size > 0) {
|
|
35
|
+
headers.cookie = [...this.jar].map(([k, v]) => `${k}=${v}`).join("; ");
|
|
36
|
+
}
|
|
37
|
+
let payload;
|
|
38
|
+
if (options.form)
|
|
39
|
+
payload = options.form;
|
|
40
|
+
else if (body !== undefined) {
|
|
41
|
+
payload = typeof body === "string" ? body : JSON.stringify(body);
|
|
42
|
+
headers["content-type"] ??= "application/json";
|
|
43
|
+
}
|
|
44
|
+
// Redirects are returned, not followed: tests assert on the 302 and its Location header.
|
|
45
|
+
const res = await fetch(`${this.baseUrl}${path}`, { method, headers, redirect: "manual", ...(payload !== undefined ? { body: payload } : {}) });
|
|
46
|
+
this.absorbCookies(res);
|
|
47
|
+
const text = await res.text();
|
|
48
|
+
let parsed = text;
|
|
49
|
+
try {
|
|
50
|
+
parsed = text ? JSON.parse(text) : undefined;
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
/* not JSON */
|
|
54
|
+
}
|
|
55
|
+
return { status: res.status, body: parsed, headers: res.headers };
|
|
56
|
+
}
|
|
57
|
+
absorbCookies(res) {
|
|
58
|
+
for (const line of res.headers.getSetCookie()) {
|
|
59
|
+
const [pair = "", ...attrs] = line.split(";");
|
|
60
|
+
const eq = pair.indexOf("=");
|
|
61
|
+
const name = pair.slice(0, eq).trim();
|
|
62
|
+
const value = pair.slice(eq + 1).trim();
|
|
63
|
+
const expired = attrs.some((a) => /^\s*expires=/i.test(a) && new Date(a.split("=")[1] ?? "").getTime() < Date.now());
|
|
64
|
+
if (!value || expired)
|
|
65
|
+
this.jar.delete(name);
|
|
66
|
+
else
|
|
67
|
+
this.jar.set(name, value);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=TestClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestClient.js","sourceRoot":"","sources":["../../src/testing/TestClient.ts"],"names":[],"mappings":"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"}
|